.arweave-image-container{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--muted));border-radius:inherit}.arweave-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity var(--duration-fast) ease-out,transform var(--duration-slow) var(--ease-out-cubic);contain:strict;will-change:transform}.arweave-image-loading{opacity:0}.arweave-image-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--surface-3)),hsl(var(--muted)));background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:1}.arweave-image-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .35),hsl(var(--cute-purple) / .4))}.arweave-image-fallback:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,hsl(255 80% 70% / .15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,hsl(200 80% 60% / .15) 0%,transparent 50%);pointer-events:none}.arweave-image-fallback-icon{width:40%;height:40%;color:hsl(var(--primary-foreground) / .7);position:relative;z-index:1;filter:drop-shadow(0 2px 4px hsl(0 0% 0% / .2))}.toast-container{position:fixed;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:24rem;width:100%}.toast-container-top-right{top:1rem;right:1rem;align-items:flex-end}.toast-container-top-left{top:1rem;left:1rem;align-items:flex-start}.toast-container-bottom-right{bottom:1rem;right:1rem;align-items:flex-end}.toast-container-bottom-left{bottom:1rem;left:1rem;align-items:flex-start}.toast-container-top-center{top:1rem;left:50%;transform:translate(-50%);align-items:center}.toast-container-bottom-center{bottom:1rem;left:50%;transform:translate(-50%);align-items:center}@media (min-width: 768px){.toast-container{max-width:28rem}}@media (max-width: 767px){.toast-container-top-right{top:calc(.5rem + var(--safe-area-top, 0px));right:.75rem;left:.75rem;align-items:center;max-width:none;width:auto}.toast-container{max-width:none;width:calc(100% - 1.5rem)}}.toast{pointer-events:auto;background:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s var(--ease-out-cubic);overflow:hidden}.toast-visible{opacity:1;transform:translateY(0) scale(1)}.toast-hidden{opacity:0;transform:translateY(-1rem) scale(.95);pointer-events:none}.toast-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;min-width:0}.toast-message{flex:1;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));line-height:1.4;word-break:break-word}.toast-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:transparent;border:none;border-radius:.25rem;color:hsl(var(--muted-foreground));cursor:pointer;flex-shrink:0;transition:all .2s var(--ease-out-cubic);padding:0}.toast-close:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.toast-close:active{transform:scale(.95)}.toast-info{background:linear-gradient(135deg,#0099ff26,#0099ff1a);border-color:#0099ff80;border-left:4px solid hsl(204 100% 50%)}.toast-info .toast-message{color:hsl(var(--foreground))}.toast-success{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),#16a2491a);border-color:hsl(var(--cute-teal) / .5);border-left:4px solid hsl(var(--cute-teal))}.toast-warning{background:linear-gradient(135deg,hsl(var(--cute-yellow) / .15),hsl(var(--cute-orange) / .1));border-color:hsl(var(--cute-yellow) / .5);border-left:4px solid hsl(var(--cute-yellow))}.toast-error{background:linear-gradient(135deg,hsl(var(--destructive) / .15),hsl(var(--destructive) / .1));border-color:hsl(var(--destructive) / .5);border-left:4px solid hsl(var(--destructive))}@keyframes toastSlideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}.toast-container-top-right .toast,.toast-container-bottom-right .toast{animation:toastSlideInRight .3s var(--ease-out-cubic)}.toast-container-top-left .toast,.toast-container-bottom-left .toast{animation:toastSlideInLeft .3s var(--ease-out-cubic)}.levelup-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:levelupOverlayFadeIn .3s ease-out}@keyframes levelupOverlayFadeIn{0%{opacity:0}to{opacity:1}}.levelup-modal-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.levelup-confetti-piece{position:absolute;top:-10px;width:10px;height:10px;background:linear-gradient(135deg,#b447eb,#fc3,#47ebeb,#eb477e);border-radius:2px;animation:levelupConfettiFall 3s ease-out forwards}@keyframes levelupConfettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.levelup-modal-container{position:relative;width:100%;max-width:34rem;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#261b32,#23122b);border:2px solid hsl(280 60% 50% / .5);border-radius:1rem;box-shadow:0 0 0 1px #b447eb33,0 25px 50px -12px #00000080,0 0 100px -20px #b447eb4d;animation:levelupModalSlideIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes levelupModalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (min-width: 768px){.levelup-modal-container{max-width:40rem}}.levelup-modal-header{padding:1.5rem 1.25rem 1rem;background:linear-gradient(135deg,#4d196680,#33145280);border-bottom:1px solid hsl(280 60% 40% / .3)}.levelup-modal-title-section{text-align:center}.levelup-modal-title{font-size:2rem;font-weight:800;margin:0 0 .5rem;background:linear-gradient(135deg,#fc3,#ffbf00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px hsl(45 100% 60% / .5);letter-spacing:.05em;animation:levelupTitleGlow 2s ease-in-out infinite alternate}@keyframes levelupTitleGlow{0%{filter:drop-shadow(0 0 10px hsl(45 100% 60% / .5))}to{filter:drop-shadow(0 0 20px hsl(45 100% 60% / .8))}}@media (min-width: 768px){.levelup-modal-title{font-size:2.5rem}}.levelup-modal-subtitle{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#cfc2d6}.levelup-emoji{font-size:1.25rem;animation:levelupEmojiBounce 1s ease-in-out infinite}.levelup-emoji:last-child{animation-delay:.5s}@keyframes levelupEmojiBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.levelup-modal-content{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.levelup-modal-content::-webkit-scrollbar{width:6px}.levelup-modal-content::-webkit-scrollbar-track{background:#2a1b32;border-radius:3px}.levelup-modal-content::-webkit-scrollbar-thumb{background:#7a29a3;border-radius:3px}.levelup-modal-content::-webkit-scrollbar-thumb:hover{background:#93c}.levelup-detail-card{background:#312537;border:1px solid hsl(280 50% 35% / .4);border-radius:.75rem;padding:1rem;animation:levelupCardFadeIn .3s ease-out backwards}.levelup-detail-card:nth-child(1){animation-delay:.1s}.levelup-detail-card:nth-child(2){animation-delay:.2s}.levelup-detail-card:nth-child(3){animation-delay:.3s}.levelup-detail-card:nth-child(4){animation-delay:.4s}.levelup-detail-card:nth-child(5){animation-delay:.5s}@keyframes levelupCardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.levelup-detail-header{margin-bottom:.75rem}.levelup-detail-range{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:600;color:#ffd966;background:#664d004d;border:1px solid hsl(45 100% 40% / .4);border-radius:9999px;letter-spacing:.05em}.levelup-detail-changes{display:flex;flex-direction:column;gap:.625rem}.levelup-detail-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#0003;border-radius:.5rem;border:1px solid hsl(280 30% 30% / .3);transition:background-color .2s ease,border-color .2s ease}.levelup-detail-item:hover{background:#0000004d;border-color:#7396}.levelup-detail-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem}.levelup-icon-hp{background:#ad1f1f33;color:#e05252}.levelup-icon-proficiency{background:#1f7ead33;color:#52b1e0}.levelup-icon-stats{background:#1fad6633;color:#52e099}.levelup-icon-features{background:#c903;color:#fc3}.levelup-icon-spells{background:#7e1fad33;color:#b152e0}.levelup-detail-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.levelup-detail-label{font-size:.6875rem;font-weight:600;color:#b8a3c2;text-transform:uppercase;letter-spacing:.05em}.levelup-detail-value{font-size:.875rem;font-weight:500;color:#f3f0f5}.levelup-detail-new{font-size:.75rem;color:#b8a3c2}.levelup-stat-increases{display:flex;flex-wrap:wrap;gap:.375rem}.levelup-stat-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:#a8f0cc;background:#136c404d;border:1px solid hsl(150 70% 40% / .4);border-radius:.375rem}.levelup-stat-old{font-size:.6875rem;color:#a085ad;margin-left:.25rem}.levelup-features-list{display:flex;flex-direction:column;gap:.25rem;margin:0;padding-left:1rem;list-style:disc}.levelup-feature-item{font-size:.8125rem;color:#e7e0eb}.levelup-feature-item::marker{color:#fc3}.levelup-spell-slots{display:flex;flex-wrap:wrap;gap:.375rem}.levelup-spell-slot-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:600;color:#d8a8f0;background:#4f136c4d;border:1px solid hsl(280 70% 40% / .4);border-radius:.375rem}.levelup-modal-footer{padding:1rem 1.25rem 1.25rem;background:#291f2e;border-top:1px solid hsl(280 60% 40% / .3)}.levelup-modal-continue-btn{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:#fff9e5;background:linear-gradient(135deg,#ffbf00,#c90);border:none;border-radius:.625rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 4px 12px #99730066,0 0 0 1px #ffcc334d inset}.levelup-modal-continue-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #99730080,0 0 0 1px #ffd96666 inset;filter:brightness(1.1)}.levelup-modal-continue-btn:active{transform:translateY(0);box-shadow:0 2px 8px #99730066,0 0 0 1px #ffcc334d inset}.levelup-modal-continue-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffcc334d,0 4px 12px #99730066}@media (max-width: 480px){.levelup-modal-container{max-height:95vh}.levelup-modal-header{padding:1.25rem 1rem .75rem}.levelup-modal-title{font-size:1.75rem}.levelup-modal-subtitle{font-size:.8125rem;flex-wrap:wrap}.levelup-modal-content{padding:.75rem;gap:.625rem}.levelup-detail-card{padding:.875rem}.levelup-detail-item{padding:.625rem;gap:.625rem}.levelup-modal-footer{padding:.875rem 1rem 1rem}.levelup-modal-continue-btn{padding:.75rem 1.25rem;font-size:.9375rem}}@media (prefers-reduced-motion: reduce){.levelup-modal-overlay,.levelup-modal-container,.levelup-detail-card,.levelup-modal-title,.levelup-emoji,.levelup-confetti-piece{animation:none}.levelup-modal-continue-btn{transition:none}}.home-tab-container{display:flex;flex-direction:column;gap:1.25rem}.home-hero{padding:1rem 1.25rem;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--surface-2)),hsl(var(--cute-purple) / .08));border:1px solid hsl(var(--border) / .5);position:relative;overflow:hidden}@media (max-width: 767px){.home-tab-container{gap:.75rem}.home-hero{padding:.625rem .75rem}.home-hero-title{font-size:1.125rem}.home-hero-subtitle{font-size:.75rem}.home-section-title{font-size:.75rem;margin-bottom:.375rem;gap:.375rem}.home-section-desc{font-size:.75rem;margin-bottom:.5rem}.home-load-section{padding:.5rem}.home-playlist-header{padding:.375rem .5rem;gap:.375rem}.home-playlist-art{width:32px;height:32px}.home-playlist-name{font-size:.875rem}.home-playlist-meta{font-size:.6875rem}.home-search-bar{padding:.25rem .375rem;gap:.25rem}.home-search-input{font-size:.75rem}.home-track-list{gap:.0625rem}.home-no-results{padding:.75rem;font-size:.6875rem}.home-actions-column{gap:.75rem}.home-quick-actions{padding:.5rem}.home-analyze-btn{padding:.5rem;gap:.25rem}.home-analyze-btn-inner{font-size:.8125rem;gap:.375rem}.home-analyze-btn-desc{font-size:.6875rem}.home-about{padding:.5rem}.home-about-text{gap:.5rem}.home-about-text p{font-size:.75rem}.home-playlist-column,.home-playlist-loaded{gap:.375rem}}.home-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsl(255 255% 255% / .1),transparent);pointer-events:none}.home-hero-title{font-size:1.5rem;font-weight:900;letter-spacing:-.02em;color:hsl(var(--foreground));line-height:1.2;margin:0 0 .375rem}.home-hero-subtitle{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));line-height:1.5;margin:0}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start;min-width:0;overflow:hidden}@media (max-width: 768px){.home-columns{grid-template-columns:1fr}}.home-section-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.home-section-desc{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0 0 .75rem;line-height:1.4}.home-playlist-column{display:flex;flex-direction:column;gap:.5rem;min-width:0;overflow:hidden}.home-load-section{padding:.75rem;border-radius:var(--radius);background:hsl(var(--surface-1));border:1px solid hsl(var(--border))}.home-load-row{display:flex;align-items:center;gap:.375rem}.home-input{flex:1;min-width:0}.home-error{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem;background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);font-size:.75rem;color:hsl(var(--destructive))}.home-error-icon{font-size:.875rem;flex-shrink:0}.home-playlist-loaded{display:flex;flex-direction:column;gap:.5rem;width:100%;min-width:0;overflow:hidden}.home-playlist-header{display:flex;gap:.5rem;align-items:flex-start;padding:.625rem .75rem;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--surface-2)));border:1px solid hsl(var(--border) / .5)}.home-playlist-art{width:40px;height:40px;border-radius:var(--radius);overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px hsl(var(--primary) / .15)}.home-art-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.home-art-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .4),hsl(var(--cute-purple) / .5))}.home-playlist-info{flex:1;min-width:0}.home-playlist-name{font-size:1rem;font-weight:800;color:hsl(var(--foreground));line-height:1.2;margin:0 0 .125rem}.home-playlist-meta{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:600}.home-search-bar{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color var(--duration-normal) var(--ease-out-cubic)}.home-search-bar:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.home-search-icon{width:.75rem;height:.75rem;color:hsl(var(--muted-foreground));flex-shrink:0}.home-search-input{flex:1;min-width:0;background:none;border:none;outline:none;font-size:.8rem;color:hsl(var(--foreground))}.home-search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.home-search-input::placeholder{color:hsl(var(--muted-foreground))}.home-search-count{font-size:.7rem;color:hsl(var(--primary));font-weight:500;flex-shrink:0}.home-track-list{display:flex;flex-direction:column;gap:.0625rem}.home-no-results{display:flex;align-items:center;padding:1rem;justify-content:center;text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem}.home-actions-column{display:flex;flex-direction:column;gap:1rem}.home-quick-actions{padding:.75rem;border-radius:var(--radius);background:hsl(var(--surface-1));border:1px solid hsl(var(--border))}.home-analyze-btn{display:flex;flex-direction:column;gap:.375rem;width:100%;padding:.75rem;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05));border:1px solid hsl(var(--primary) / .25);color:hsl(var(--foreground));cursor:pointer;transition:all .2s ease;text-align:left}.home-analyze-btn:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .25),hsl(var(--primary) / .1));border-color:hsl(var(--primary) / .4);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .2)}.home-analyze-btn:active:not(:disabled){transform:translateY(0)}.home-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.home-analyze-btn-inner{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;color:hsl(var(--primary))}.home-analyze-btn-desc{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.home-about{padding:.75rem;border-radius:var(--radius);background:hsl(var(--surface-1));border:1px solid hsl(var(--border))}.home-about-text{display:flex;flex-direction:column;gap:.625rem}.home-about-text p{margin:0;font-size:.8rem;color:hsl(var(--muted-foreground));line-height:1.5}.home-about-text strong{color:hsl(var(--foreground));font-weight:700}.home-about-link{color:hsl(var(--primary));text-decoration:none;transition:color .2s ease}.home-about-link:hover{color:hsl(var(--foreground));text-decoration:underline}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.loading-spinner-spinner{border-radius:var(--radius-full);border-color:hsl(var(--primary));border-top-color:transparent;animation:spin 1s linear infinite}.loading-spinner-spinner.sm{width:1rem;height:1rem;border-width:2px}.loading-spinner-spinner.md{width:2rem;height:2rem;border-width:3px}.loading-spinner-spinner.lg{width:3rem;height:3rem;border-width:4px}.loading-spinner-label{color:hsl(var(--muted-foreground));font-weight:500}.loading-spinner-label.sm{font-size:.75rem}.loading-spinner-label.md{font-size:.875rem}.loading-spinner-label.lg{font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border-width:0}.track-card-art{position:relative;flex-shrink:0;border-radius:6px;overflow:hidden;background-color:hsl(var(--muted))}.track-card-art-compact{width:40px;height:40px}.track-card-art-default{width:48px;height:48px}.track-card-art-large{width:56px;height:56px}.track-art-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out-cubic);contain:strict;will-change:transform}.track-card-art:hover .track-art-image{transform:scale(1.05)}.track-art-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .35),hsl(var(--cute-purple) / .4));position:relative}.track-art-fallback:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,hsl(255 80% 70% / .15) 0%,transparent 50%),radial-gradient(circle at 80% 70%,hsl(200 80% 60% / .15) 0%,transparent 50%);pointer-events:none}.track-art-icon{width:40%;height:40%;color:hsl(var(--primary-foreground) / .7);position:relative;z-index:1;filter:drop-shadow(0 2px 4px hsl(0 0% 0% / .2))}.track-art-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--surface-3)),hsl(var(--muted)));background-size:200% 100%;animation:shimmer 1.5s infinite}.track-art-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--duration-fast) ease-out;pointer-events:none}.track-art-overlay-visible{opacity:1;pointer-events:auto}.track-art-overlay-button{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-lg);transition:transform var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic);border:none;cursor:pointer;transform:var(--gpu-accel);will-change:transform}.track-art-overlay-button:hover{background-color:hsl(var(--primary) / .9);transform:scale(1.1) var(--gpu-accel)}.track-card{display:flex;align-items:center;gap:.5rem;padding:.25rem .375rem;border-radius:.375rem;border:1px solid hsl(var(--border));background-color:hsl(var(--card));cursor:pointer;transition:border-color var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic);position:relative;overflow:hidden;transform:var(--gpu-accel);will-change:border-color,background-color;contain:layout style paint}.track-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(to bottom,hsl(var(--primary)),hsl(var(--primary) / .7));transition:width var(--duration-normal) var(--ease-out-cubic);border-radius:.5rem 0 0 .5rem}.track-card-selected:before{width:4px}.track-card:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary) / .3);transform:scale(1.02)}.track-card-selected{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));border-width:2px;box-shadow:var(--shadow-lg),0 0 20px hsl(var(--primary) / .15)}.track-number{display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));font-weight:500;flex-shrink:0;transition:color var(--duration-fast) var(--ease-out-cubic)}.track-card:hover .track-number{color:hsl(var(--foreground))}.track-card-selected .track-number{color:hsl(var(--primary))}.track-number-compact{width:2rem;font-size:.875rem}.track-number-default{width:2.5rem;font-size:1rem}.track-number-large{width:3rem;font-size:1.125rem}.track-play-button{display:flex;align-items:center;justify-content:center;border-radius:9999px;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform}.track-play-button:hover{background-color:hsl(var(--primary) / .9);transform:scale(1.1) var(--gpu-accel);box-shadow:var(--shadow-lg)}.track-play-button:active{transform:scale(.95) var(--gpu-accel)}.play-button-compact{width:1.75rem;height:1.75rem}.play-button-default{width:2rem;height:2rem}.play-button-large{width:2.25rem;height:2.25rem}.play-icon-compact{width:.75rem;height:.75rem}.play-icon-default{width:.875rem;height:.875rem}.play-icon-large{width:1rem;height:1rem}.track-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.0625rem}.track-title{font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--duration-fast) var(--ease-out-cubic)}.track-card:hover .track-title{color:hsl(var(--primary))}.track-title-selected{color:hsl(var(--primary));font-weight:600}.track-title-compact{font-size:.875rem}.track-title-default{font-size:.9375rem}.track-title-large{font-size:1rem}.track-meta{font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-meta-album{color:hsl(var(--muted-foreground) / .8)}.track-meta-genre{color:hsl(var(--cute-purple) / .8);font-style:italic}.track-meta-duration{font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground) / .7)}.track-meta-compact{font-size:.6875rem}.track-meta-default{font-size:.75rem}.track-meta-large{font-size:.8125rem}.track-metadata-line{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0}.track-metadata-line-compact{gap:.125rem}.track-meta-separator{color:hsl(var(--muted-foreground) / .5);font-weight:400;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.track-metadata-line .track-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0;max-width:100%}.track-metadata-line .track-meta-artist{flex-shrink:10;font-weight:500;color:hsl(var(--foreground) / .85)}.track-metadata-line .track-meta-album{flex-shrink:1}.track-metadata-line .track-meta-duration{flex-shrink:0;font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground) / .7)}.track-card-compact{gap:.5rem;padding:.5rem}.track-card-default{gap:.75rem;padding:.625rem}.track-card-large{gap:1rem;padding:.75rem}.track-card-playing{background-color:hsl(var(--cute-teal) / .08)}.track-card-playing .track-title{color:hsl(var(--cute-teal))}.track-card-playing:after{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;background-color:hsl(var(--cute-teal));border-radius:9999px;animation:playingPulse 1.5s ease-in-out infinite}.track-card-playing .track-number{padding-left:12px}.track-card-playing:not(:has(.track-number)):after{left:6px}.track-play-icon{color:hsl(var(--primary-foreground))}.track-xp-container{display:flex;flex-direction:column;gap:4px;min-width:80px;margin-left:auto;padding-left:12px;border-left:1px solid hsl(var(--border) / .5);transition:all var(--duration-normal) var(--ease-out-cubic)}.track-xp-header{display:flex;justify-content:space-between;align-items:center;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.01em;gap:8px}.track-xp-level{color:hsl(var(--primary));display:flex;align-items:center;gap:2px}.track-xp-star{color:hsl(var(--primary));filter:drop-shadow(0 0 2px hsl(var(--primary) / .3))}.track-xp-percent{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.track-xp-progress-bg{width:100%;height:4px;background-color:hsl(var(--muted));border-radius:9999px;overflow:hidden}.track-xp-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-teal)));border-radius:9999px;transition:width .3s ease-out}.track-card-compact .track-xp-container{min-width:60px;padding-left:8px}.track-card:hover .track-xp-container{border-left-color:hsl(var(--primary) / .3)}.track-card-selected .track-xp-container{border-left-color:hsl(var(--primary) / .5)}@media (max-width: 767px){.track-card:hover{transform:none}.track-card-selected .track-art-overlay,.track-card-playing .track-art-overlay{opacity:1;pointer-events:auto}.track-xp-container{min-width:44px;padding-left:6px}.track-card-compact .track-xp-container{min-width:40px;padding-left:6px}.track-xp-header{font-size:.5rem;gap:4px}.track-card{padding:.5rem .375rem}}.playlist-tab-container{display:flex;flex-direction:column;gap:.5rem}.playlist-header-input{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.5rem .75rem;padding:.5rem;border-radius:var(--radius);background:hsl(var(--surface-1));border:1px solid hsl(var(--border));align-items:start}.playlist-header-input>:nth-child(1){grid-column:1;grid-row:1}.playlist-header-input>:nth-child(2){grid-column:2;grid-row:1}.playlist-header-input>:nth-child(3){grid-column:1;grid-row:2}.playlist-header-input>:nth-child(4){grid-column:2;grid-row:2}.playlist-header-content-left{display:flex;align-items:center;gap:.5rem}.playlist-header-content-right{display:flex;align-items:center;gap:.375rem;min-width:0}.playlist-header-icon-wrapper{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-full);background-color:hsl(var(--primary) / .15);flex-shrink:0}.playlist-header-icon{width:.75rem;height:.75rem;color:hsl(var(--primary))}.playlist-header-title,.playlist-input-label{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));line-height:1.2;margin:0}.playlist-input-compact{width:-webkit-fill-available;flex:0 1 auto}.playlist-input-compact .input-field{width:-webkit-fill-available}.playlist-load-button-compact{flex:0 0 auto;height:2.75rem;min-height:2.75rem}.playlist-error-compact{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);font-size:.75rem;color:hsl(var(--destructive))}.playlist-error-icon{font-size:.875rem;flex-shrink:0}.playlist-error-message{flex:1}.playlist-empty-state-compact{display:flex;align-items:center;gap:.375rem;padding:.5rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);font-size:.75rem;color:hsl(var(--muted-foreground))}.playlist-empty-icon{font-size:1rem}.playlist-empty-text{display:flex;align-items:center;gap:.25rem}.playlist-empty-link{background:none;border:none;color:hsl(var(--primary));font-size:inherit;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted}.playlist-empty-link:hover{text-decoration-style:solid}.playlist-content{display:flex;flex-direction:column;gap:.5rem}.playlist-display-header-compact{padding:.75rem;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--surface-2)),hsl(var(--accent) / .08));border:1px solid hsl(var(--border) / .5);box-shadow:0 2px 8px #0000000a,inset 0 1px #ffffff0d;position:relative;overflow:hidden}.playlist-display-header-compact:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,hsl(255 255% 255% / .1),transparent);pointer-events:none}.playlist-display-header-left{display:flex;gap:.5rem;align-items:flex-start}.album-art-wrapper-compact{position:relative;width:48px;height:48px;border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 12px hsl(var(--primary) / .15),0 2px 4px #0000001a;flex-shrink:0;margin-top:10px;transition:transform .2s ease,box-shadow .2s ease}.album-art-wrapper-compact:hover{transform:scale(1.05);box-shadow:0 6px 16px hsl(var(--primary) / .2),0 3px 6px #00000026}.album-art-image-compact{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.album-art-fallback-compact{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .4),hsl(var(--cute-purple) / .5))}.album-art-fallback-compact:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,hsl(255 100% 70% / .2) 0%,transparent 50%);pointer-events:none}.playlist-display-info-compact{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.playlist-info-row-primary{display:flex;flex-direction:column;gap:.5rem}.playlist-display-title-compact{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;color:hsl(var(--foreground));line-height:1.2}.playlist-display-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.playlist-display-creator-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--primary) / .12),hsl(var(--primary) / .08));border:1px solid hsl(var(--primary) / .2);font-size:.75rem;font-weight:700}.playlist-display-creator-label{color:hsl(var(--muted-foreground));font-weight:600}.playlist-display-creator-value{color:hsl(var(--primary));font-weight:800;letter-spacing:.03em}.playlist-display-separator{width:.1875rem;height:.1875rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--muted-foreground) / .6),hsl(var(--muted-foreground) / .3))}.playlist-display-tracks-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--foreground) / .08),hsl(var(--foreground) / .04));border:1px solid hsl(var(--border) / .6);font-size:.75rem;font-weight:700;color:hsl(var(--foreground))}.playlist-display-genre-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .85));border:1px solid hsl(var(--primary) / .5);font-size:.75rem;font-weight:800;color:hsl(var(--primary-foreground));text-transform:uppercase;letter-spacing:.06em;box-shadow:0 2px 6px hsl(var(--primary) / .25)}.playlist-display-description-compact{font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;margin-top:.5rem;margin-bottom:.5rem}.playlist-display-tags-compact{display:flex;flex-wrap:wrap;gap:.25rem}.playlist-display-tag-compact{padding:.1875rem .5rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .08));border:1px solid hsl(var(--primary) / .25);font-size:.6875rem;font-weight:700;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.06em;transition:all .2s ease;cursor:default}.playlist-display-tag-compact:hover{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--primary) / .12));border-color:hsl(var(--primary) / .35);transform:translateY(-1px);box-shadow:0 2px 6px hsl(var(--primary) / .15)}.playlist-selected-track-compact{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius);background:linear-gradient(135deg,hsl(var(--primary) / .12),hsl(var(--primary) / .06));border:1px solid hsl(var(--primary) / .2);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;position:relative;overflow:hidden}.selected-track-status{display:flex;align-items:center;gap:.375rem}.selected-track-pulse{width:.5rem;height:.5rem;border-radius:var(--radius-full);background-color:#6feb9d;box-shadow:0 0 #6feb9d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #6feb9d}50%{box-shadow:0 0 0 .375rem #6feb9d}}.selected-track-label{font-size:.625rem;font-weight:700;letter-spacing:.1em;color:#6feb9d}.selected-track-info{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.selected-track-index{font-size:.875rem;font-weight:800;color:hsl(var(--primary))}.selected-track-separator{width:.1875rem;height:.1875rem;border-radius:var(--radius-full);background:linear-gradient(135deg,hsl(var(--muted-foreground) / .6),hsl(var(--muted-foreground) / .3))}.selected-track-title{font-size:.875rem;font-weight:800;color:hsl(var(--foreground))}.selected-track-artist{font-size:.875rem;font-weight:600;color:hsl(var(--muted-foreground))}.selected-track-album{font-size:.8rem;font-weight:500;color:hsl(var(--muted-foreground));font-style:italic}.playlist-search-section-compact{display:flex;flex-direction:column;gap:.25rem}.playlist-search-bar-compact{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color var(--duration-normal) var(--ease-out-cubic)}.playlist-search-bar-compact:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .1)}.search-icon-compact{width:.75rem;height:.75rem;color:hsl(var(--muted-foreground));flex-shrink:0}.search-input-compact{flex:1;min-width:0;background:none;border:none;outline:none;font-size:.8rem;color:hsl(var(--foreground))}.search-input-compact::-moz-placeholder{color:hsl(var(--muted-foreground))}.search-input-compact::placeholder{color:hsl(var(--muted-foreground))}.search-count-compact{font-size:.7rem;color:hsl(var(--primary));font-weight:500;flex-shrink:0}.playlist-track-list-compact{display:flex;flex-direction:column;gap:.0625rem}.playlist-no-results-compact{display:flex;align-items:center;gap:.375rem;padding:1rem;justify-content:center;text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem}.playlist-no-results-icon{font-size:1rem}.playlist-debug-section{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border))}.playlist-debug-title{font-weight:500;font-size:.7rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.playlist-track-skeletons{margin-top:.5rem}@media (max-width: 767px){.playlist-tab-container{gap:.375rem}.playlist-header-input{grid-template-columns:1fr;grid-template-rows:auto;gap:.375rem;padding:.375rem}.playlist-header-input>:nth-child(1),.playlist-header-input>:nth-child(2),.playlist-header-input>:nth-child(3),.playlist-header-input>:nth-child(4){grid-column:1;grid-row:auto}.playlist-header-content-left,.playlist-header-content-right{width:100%;min-width:0;overflow:hidden}.playlist-header-content-right{flex-wrap:wrap}.playlist-header-title,.playlist-input-compact .input-field{font-size:.75rem}.playlist-load-button-compact{font-size:.75rem;padding:.5rem .75rem}.playlist-error-compact,.playlist-empty-state-compact{font-size:.6875rem;padding:.375rem;gap:.25rem}.playlist-error-icon,.playlist-empty-icon{font-size:.875rem}.playlist-content{gap:.375rem}.playlist-display-header-compact{padding:.5rem}.album-art-wrapper-compact{width:40px;height:40px}.playlist-display-title-compact{font-size:1rem}.playlist-display-creator-badge,.playlist-display-tracks-badge,.playlist-display-genre-badge{font-size:.6875rem;padding:.1875rem .5rem}.playlist-display-description-compact{font-size:.6875rem}.playlist-display-tag-compact{font-size:.625rem;padding:.125rem .375rem}.playlist-selected-track-compact{padding:.5rem;gap:.5rem;flex-wrap:wrap}.selected-track-label{font-size:.5625rem}.selected-track-index,.selected-track-title,.selected-track-artist{font-size:.75rem}.selected-track-album{font-size:.6875rem}.playlist-search-bar-compact{padding:.375rem;gap:.25rem}.search-icon-compact{width:.625rem;height:.625rem}.search-input-compact{font-size:.75rem}.search-count-compact{font-size:.625rem}.playlist-track-list-compact{gap:.0625rem}.playlist-no-results-compact{font-size:.6875rem;padding:.75rem}.playlist-debug-section{gap:.375rem;padding-top:.375rem}.playlist-debug-title{font-size:.625rem}.playlist-track-skeletons{margin-top:.375rem}.playlist-track-skeleton-list{gap:.375rem}}.raw-json-dump{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.raw-json-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background-color:hsl(var(--muted) / .5);transition:background-color var(--duration-fast) var(--ease-out-cubic);-webkit-user-select:none;-moz-user-select:none;user-select:none}.raw-json-summary:hover{background-color:hsl(var(--muted))}.raw-json-summary-content{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem}.raw-json-summary-title{font-weight:500;color:hsl(var(--foreground))}.raw-json-summary-timestamp{font-size:.75rem;color:hsl(var(--muted-foreground))}.raw-json-copy-button{margin-right:.75rem;padding:.5rem;border-radius:var(--radius);background-color:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}.raw-json-copy-button:hover{background-color:hsl(var(--background))}.raw-json-copy-button svg{width:1rem;height:1rem}.raw-json-copy-button svg.copied{color:#16a249}.raw-json-copy-button svg.uncopied{color:hsl(var(--muted-foreground))}.raw-json-content{border-left:4px solid;padding:0}.raw-json-content.healthy{border-left-color:#16a249}.raw-json-content.degraded{border-left-color:#f8d630}.raw-json-content.error{border-left-color:#ef4343}.raw-json-pre{padding:1rem;font-size:.75rem;overflow-x:auto;background-color:hsl(var(--background));margin:0}.raw-json-code{font-family:monospace;color:hsl(var(--foreground))}.audio-analysis-primary-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,auto) minmax(0,1fr);gap:1.5rem;align-items:center}@media (max-width: 1024px){.audio-analysis-primary-layout{grid-template-columns:1fr;gap:1.5rem;text-align:center}.audio-analysis-mode-card{border-left:none;border-right:none;border-top:1px solid hsl(var(--border) / .5);border-bottom:1px solid hsl(var(--border) / .5);padding:1rem 0}.audio-analysis-mode-card--genre{grid-column:auto}}.audio-analysis-song-display{display:flex;align-items:center;gap:1.25rem;min-width:0}@media (max-width: 1024px){.audio-analysis-song-display{flex-direction:column;justify-content:center}}.audio-analysis-song-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0;text-align:left}@media (max-width: 1024px){.audio-analysis-song-meta{text-align:center;align-items:center}}.audio-analysis-action-integration{grid-column:1 / -1;width:100%;display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:.5rem}.audio-analysis-primary-action-button{width:100%;height:3.25rem;border-radius:.75rem;font-weight:700;font-size:1rem;letter-spacing:.02em;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-purple)));box-shadow:0 4px 15px hsl(var(--primary) / .3);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.audio-analysis-card.full-width,.full-width{grid-column:1 / -1}.audio-analysis-genre-column,.audio-analysis-mood-column,.audio-analysis-vibe-column{min-width:0}.audio-analysis-genre-card,.audio-analysis-mood-card,.audio-analysis-vibe-card{height:100%}.audio-analysis-card:first-child{grid-column:1 / -1}.audio-analysis-mode-card{display:flex;flex-direction:column;gap:.5rem;padding:0 1.25rem;border-left:1px solid hsl(var(--border) / .5);border-right:1px solid hsl(var(--border) / .5);flex:1 1 auto;min-width:0}.audio-analysis-mode-card--genre{grid-column:2 / -1;border-left:none}.audio-analysis-primary-action-button{max-width:280px;width:100%;height:3.25rem;border-radius:.75rem;font-weight:700;font-size:1rem;letter-spacing:.02em;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-purple)));box-shadow:0 4px 15px hsl(var(--primary) / .3);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.audio-analysis-radar-section{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-left:1rem}.audio-analysis-genre-options{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed hsl(var(--border) / .3);display:flex;flex-direction:column;gap:.75rem;width:100%}.audio-analysis-genre-slider-container{margin-top:0}.audio-analysis-genre-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.audio-analysis-genre-slider-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-genre-slider-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.audio-analysis-genre-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:transparent;cursor:pointer;position:relative}.audio-analysis-genre-slider:before{content:"";position:absolute;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .5) 0px,hsl(var(--border) / .5) 1px,transparent 1px,transparent 4px);height:2px;top:50%;transform:translateY(-50%);z-index:0}.audio-analysis-genre-slider::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,hsl(var(--primary) / .3),hsl(var(--primary) / .6));background-size:var(--slider-value, 50%) 100%;background-repeat:no-repeat;border-radius:2px;border:1px solid hsl(var(--primary) / .3)}.audio-analysis-genre-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:20px;background:linear-gradient(to bottom,hsl(var(--surface-1)),hsl(var(--surface-2)));border:1px solid hsl(var(--border));border-radius:2px;margin-top:-8px;cursor:grab;box-shadow:0 1px 3px hsl(var(--shadow) / .3);position:relative;z-index:1}.audio-analysis-genre-slider::-webkit-slider-thumb:hover{background:linear-gradient(to bottom,hsl(var(--surface-2)),hsl(var(--surface-3)));border-color:hsl(var(--primary) / .5)}.audio-analysis-genre-slider::-webkit-slider-thumb:active{cursor:grabbing}.audio-analysis-genre-slider::-moz-range-track{height:4px;background:linear-gradient(to right,hsl(var(--primary) / .3),hsl(var(--primary) / .6));background-size:var(--slider-value, 50%) 100%;background-repeat:no-repeat;border-radius:2px;border:1px solid hsl(var(--primary) / .3)}.audio-analysis-genre-slider::-moz-range-thumb{width:12px;height:20px;background:linear-gradient(to bottom,hsl(var(--surface-1)),hsl(var(--surface-2)));border:1px solid hsl(var(--border));border-radius:2px;cursor:grab;box-shadow:0 1px 3px hsl(var(--shadow) / .3)}.audio-analysis-genre-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem}.audio-analysis-genre-slider-mark{font-size:.5rem;color:hsl(var(--muted-foreground) / .6);font-family:ui-monospace,monospace}.audio-analysis-genre-options-disabled{opacity:.5;pointer-events:none}.audio-analysis-genre-slider:disabled{cursor:not-allowed;opacity:.6}.audio-analysis-genre-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;background:linear-gradient(to bottom,hsl(var(--surface-1)),hsl(var(--surface-2)));border-color:hsl(var(--border));box-shadow:none}.audio-analysis-genre-slider:disabled::-moz-range-thumb{cursor:not-allowed;background:linear-gradient(to bottom,hsl(var(--surface-1)),hsl(var(--surface-2)));border-color:hsl(var(--border));box-shadow:none}.audio-analysis-model-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed hsl(var(--border) / .3)}.audio-analysis-model-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.audio-analysis-model-title{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-model-toggle{font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem;border:1px solid hsl(var(--border));background:hsl(var(--surface-2));color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.audio-analysis-model-toggle:hover:not(:disabled){background:hsl(var(--surface-3));border-color:hsl(var(--primary) / .5);color:hsl(var(--foreground))}.audio-analysis-model-toggle:disabled{opacity:.5;cursor:not-allowed}.audio-analysis-model-toggle-active{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.audio-analysis-model-defaults{display:flex;flex-direction:column;gap:.375rem}.audio-analysis-model-default-item{display:flex;align-items:center;gap:.5rem;font-size:.6875rem}.audio-analysis-model-label{color:hsl(var(--muted-foreground));min-width:5rem}.audio-analysis-model-value{font-weight:600;color:hsl(var(--foreground))}.audio-analysis-model-desc{color:hsl(var(--muted-foreground) / .7);font-size:.5625rem}.audio-analysis-model-selectors{display:flex;flex-direction:column;gap:.75rem;width:100%}.audio-analysis-model-selector-group{display:flex;flex-direction:column;gap:.375rem}.audio-analysis-model-selector-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-model-buttons{display:flex;flex-wrap:wrap;gap:.375rem}.audio-analysis-model-btn{display:flex;flex-direction:column;align-items:center;padding:.375rem .5rem;border-radius:.375rem;border:1px solid hsl(var(--border));background:hsl(var(--surface-2));cursor:pointer;transition:all .15s ease;min-width:4.5rem}.audio-analysis-model-btn:hover:not(:disabled){background:hsl(var(--surface-3));border-color:hsl(var(--primary) / .5)}.audio-analysis-model-btn:disabled{opacity:.5;cursor:not-allowed}.audio-analysis-model-btn-active{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.audio-analysis-model-btn-name{font-size:.625rem;font-weight:600;color:hsl(var(--foreground))}.audio-analysis-model-btn-desc{font-size:.5rem;color:hsl(var(--muted-foreground))}.audio-analysis-model-btn-active .audio-analysis-model-btn-name{color:hsl(var(--primary))}.audio-analysis-model-selector-group-fixed{opacity:.7}.audio-analysis-model-fixed{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.375rem;border:1px dashed hsl(var(--border));background:hsl(var(--surface-1))}.audio-analysis-model-fixed-name{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground))}.audio-analysis-model-fixed-desc{font-size:.5rem;color:hsl(var(--muted-foreground) / .7)}.audio-analysis-pitch-options{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed hsl(var(--border) / .3);display:flex;flex-direction:column;gap:.75rem;width:100%}.audio-analysis-pitch-select-container{display:flex;flex-direction:column;gap:.375rem}.audio-analysis-pitch-select{width:100%;padding:.5rem 2rem .5rem .625rem;font-size:.75rem;font-family:inherit;color:hsl(var(--foreground));background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:border-color .2s ease,box-shadow .2s ease}.audio-analysis-pitch-select:hover{border-color:hsl(var(--primary) / .5)}.audio-analysis-pitch-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .15)}.audio-analysis-pitch-select option{background:hsl(var(--surface-2));color:hsl(var(--foreground))}.audio-analysis-pitch-slider-container{margin-top:0}.audio-analysis-pitch-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.audio-analysis-pitch-slider-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-pitch-slider-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.audio-analysis-pitch-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%);border-radius:2px;cursor:pointer;transition:background .1s ease;position:relative}.audio-analysis-pitch-slider:before{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}.audio-analysis-pitch-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px}.audio-analysis-pitch-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;margin-top:-3px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:2}.audio-analysis-pitch-slider::-webkit-slider-thumb:hover{transform:scaleY(1.2);box-shadow:0 0 15px hsl(var(--primary) / .7)}.audio-analysis-pitch-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scaleY(1.1)}.audio-analysis-pitch-slider::-moz-range-thumb{width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.audio-analysis-pitch-slider::-moz-range-track{height:4px;background:hsl(var(--border) / .5);border-radius:2px}.audio-analysis-pitch-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem}.audio-analysis-pitch-slider-mark{font-size:.5rem;color:hsl(var(--muted-foreground) / .6);font-family:ui-monospace,monospace}.audio-analysis-pitch-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.25rem 0}.audio-analysis-pitch-toggle-input{position:absolute;opacity:0;width:0;height:0}.audio-analysis-pitch-toggle-track{position:relative;width:2rem;height:1rem;background:hsl(var(--border));border-radius:1rem;transition:background .2s ease;flex-shrink:0}.audio-analysis-pitch-toggle-input:checked+.audio-analysis-pitch-toggle-track{background:hsl(var(--primary))}.audio-analysis-pitch-toggle-thumb{position:absolute;top:.125rem;left:.125rem;width:.75rem;height:.75rem;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px hsl(var(--shadow) / .3)}.audio-analysis-pitch-toggle-input:checked+.audio-analysis-pitch-toggle-track .audio-analysis-pitch-toggle-thumb{transform:translate(1rem)}.audio-analysis-pitch-toggle-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));transition:color .2s ease}.audio-analysis-pitch-toggle-input:checked~.audio-analysis-pitch-toggle-label{color:hsl(var(--foreground))}.audio-analysis-pitch-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.audio-analysis-pitch-stat{display:flex;flex-direction:column;gap:.25rem}.audio-analysis-pitch-stat-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.audio-analysis-pitch-stat-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.audio-analysis-pitch-stat-bar-container{width:100%;height:.375rem;background:hsl(var(--surface-2));border-radius:9999px;overflow:hidden}.audio-analysis-pitch-stat-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:9999px;transition:width .4s ease}.audio-analysis-pitch-contour-content{display:flex;flex-direction:column;gap:.625rem}.audio-analysis-pitch-contour-directions{display:flex;flex-direction:column;gap:.375rem;padding-left:.5rem;border-left:2px solid hsl(var(--border))}.audio-analysis-pitch-contour-direction-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.audio-analysis-pitch-contour-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.audio-analysis-pitch-direction-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));white-space:nowrap}.audio-analysis-pitch-contour-range,.audio-analysis-pitch-contour-segments{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.audio-analysis-pitch-contour-range-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}.audio-analysis-pitch-contour-range-semitones{margin-left:.375rem;font-size:.6875rem;font-weight:400;color:hsl(var(--muted-foreground))}.audio-analysis-pitch-contour-segments-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}.audio-analysis-pitch-note-dist{display:flex;flex-direction:column;gap:.375rem}.audio-analysis-pitch-note-row{display:grid;grid-template-columns:2.5rem 1fr 2.5rem 3.5rem;align-items:center;gap:.5rem}.audio-analysis-pitch-note-name{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.audio-analysis-pitch-note-bar-container{width:100%;height:.5rem;background:hsl(var(--surface-2));border-radius:9999px;overflow:hidden}.audio-analysis-pitch-note-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .8),hsl(var(--cute-purple) / .8));border-radius:9999px;transition:width .3s ease;min-width:2px}.audio-analysis-pitch-note-count{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:right;font-variant-numeric:tabular-nums}.audio-analysis-pitch-note-pct{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));text-align:right;font-variant-numeric:tabular-nums}.audio-analysis-card--pitch-graph{overflow:hidden}.audio-analysis-pitch-loading{display:flex;align-items:center;gap:1rem;padding:1.25rem .5rem}.audio-analysis-pitch-loading-icon{position:relative;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:hsl(var(--primary) / .1);flex-shrink:0}.audio-analysis-pitch-loading-icon-inner{color:hsl(var(--primary));animation:audio-analysis-pitch-pulse 1.5s ease-in-out infinite}@keyframes audio-analysis-pitch-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.audio-analysis-pitch-loading-content{flex:1;min-width:0}.audio-analysis-pitch-loading-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}.audio-analysis-pitch-loading-desc{font-size:.75rem;color:hsl(var(--muted-foreground));margin:.125rem 0 .5rem}.audio-analysis-pitch-loading-progress{height:.375rem;background:hsl(var(--muted));border-radius:9999px;overflow:hidden}.audio-analysis-pitch-loading-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:9999px;transition:width .3s ease}.audio-analysis-pitch-loading-percent{font-size:1.125rem;font-weight:700;color:hsl(var(--primary));font-variant-numeric:tabular-nums;flex-shrink:0;min-width:3.5rem;text-align:right}.audio-analysis-pitch-error{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;background:hsl(var(--destructive) / .05);border:1px solid hsl(var(--destructive) / .15)}.audio-analysis-pitch-error-icon{color:hsl(var(--destructive));flex-shrink:0}.audio-analysis-pitch-error-content{flex:1;min-width:0}.audio-analysis-pitch-error-title{font-size:.8125rem;font-weight:600;color:hsl(var(--destructive));margin:0}.audio-analysis-pitch-error-message{font-size:.75rem;color:hsl(var(--muted-foreground));margin:.125rem 0 0}.audio-analysis-pitch-error-retry{flex-shrink:0}@media (max-width: 767px){.audio-analysis-container{width:100%;min-width:0;overflow:hidden}.audio-analysis-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:.375rem}.audio-analysis-header-right{width:100%;justify-content:flex-start}.audio-analysis-header-title{font-size:1rem}.audio-analysis-header-subtitle{font-size:.6875rem}.audio-analysis-selected-track{padding:.375rem .5rem;gap:.375rem}.audio-analysis-selected-track-image{width:1.75rem;height:1.75rem}.audio-analysis-selected-track-title{font-size:.75rem;max-width:100px}.audio-analysis-selected-track-artist{font-size:.625rem}.audio-analysis-empty-state{padding:2rem 1rem;gap:.5rem}.audio-analysis-empty-title{font-size:1.25rem}.audio-analysis-empty-subtitle{font-size:.75rem}.audio-analysis-primary-card{border-radius:1rem;margin-top:.375rem}.audio-analysis-primary-layout,.audio-analysis-song-display{gap:.75rem}.audio-analysis-song-artwork{width:4rem;height:4rem;border-radius:.75rem}.audio-analysis-song-title-large{font-size:.875rem}.audio-analysis-song-artist-large{font-size:.75rem}.audio-analysis-eq-integration{padding:0 .75rem;gap:.75rem}.audio-analysis-eq-grid{gap:.375rem}.audio-analysis-eq-band-compact{width:2.75rem;gap:.375rem}.audio-analysis-eq-slider-vertical{height:80px}.audio-analysis-eq-slider{width:80px}.audio-analysis-eq-slider::-webkit-slider-runnable-track,.audio-analysis-eq-slider::-moz-range-track{width:80px}.audio-analysis-action-integration{gap:.5rem;margin-top:.375rem}.audio-analysis-primary-action-button{height:2.75rem;font-size:.875rem;max-width:none}.audio-analysis-playback-warning{font-size:.625rem}.audio-analysis-error-message{font-size:.6875rem;padding:.375rem .5rem}.audio-analysis-storage-warning{font-size:.6875rem;padding:.5rem .625rem}.audio-analysis-results{grid-template-columns:1fr;gap:.5rem;margin-top:.75rem}.audio-analysis-card{padding:.75rem;border-radius:.75rem}.audio-analysis-card-title{font-size:.875rem;gap:.375rem;margin-bottom:.5rem}.audio-analysis-card-subtitle{font-size:.625rem}.audio-analysis-card-title-icon{width:.875rem;height:.875rem}.audio-analysis-frequency-container{gap:1rem;min-height:8rem;padding:.75rem 0}.audio-analysis-bar{width:1.75rem}.audio-analysis-bar-label{font-size:.6875rem}.audio-analysis-bar-value{font-size:.75rem}.audio-analysis-energy-grid{gap:.5rem}.audio-analysis-energy-item{padding:.5rem}.audio-analysis-energy-label{font-size:.6875rem}.audio-analysis-energy-value{font-size:1.25rem}.audio-analysis-energy-description{font-size:.5625rem}.audio-analysis-metrics-list{gap:.375rem}.audio-analysis-metric-item{font-size:.75rem}.audio-analysis-mode-card{padding:.75rem}.audio-analysis-mode-card--genre{grid-column:auto}.audio-analysis-mode-header{margin-bottom:.125rem;gap:.125rem}.audio-analysis-mode-title{font-size:.875rem}.audio-analysis-mode-subtitle{font-size:.5625rem}.audio-analysis-mode-buttons{gap:.375rem}.audio-analysis-mode-btn{padding:.5rem .75rem;gap:.125rem;min-width:3.75rem}.audio-analysis-mode-icon{width:1rem;height:1rem}.audio-analysis-mode-label{font-size:.625rem}.audio-analysis-mode-desc{font-size:.5rem}.audio-analysis-timeline-options{margin-top:.5rem;padding-top:.5rem;gap:.5rem}.audio-analysis-timeline-toggle{gap:.375rem}.audio-analysis-timeline-toggle-btn{padding:.375rem .5rem;gap:.0625rem}.audio-analysis-timeline-toggle-label{font-size:.5625rem}.audio-analysis-timeline-toggle-value{font-size:.5rem}.audio-analysis-timeline-slider-container{margin-top:.5rem;padding-top:.375rem}.audio-analysis-timeline-slider-header{margin-bottom:.25rem}.audio-analysis-timeline-slider-label{font-size:.5rem}.audio-analysis-timeline-slider-value{font-size:.625rem;padding:.0625rem .25rem}.audio-analysis-timeline-slider-mark{font-size:.4375rem}.audio-analysis-genre-options{margin-top:.5rem;padding-top:.5rem;gap:.5rem}.audio-analysis-genre-slider-container{margin-top:.375rem}.audio-analysis-genre-slider-header{margin-bottom:.25rem}.audio-analysis-genre-slider-label{font-size:.5rem}.audio-analysis-genre-slider-value{font-size:.625rem;padding:.0625rem .25rem}.audio-analysis-genre-slider-mark{font-size:.4375rem}.audio-analysis-model-selector{margin-top:.5rem;padding-top:.5rem}.audio-analysis-model-selector-group{gap:.25rem}.audio-analysis-model-selector-label{font-size:.5rem}.audio-analysis-model-buttons{gap:.25rem}.audio-analysis-model-btn{padding:.3125rem .375rem;min-width:4rem}.audio-analysis-model-btn-name{font-size:.5625rem}.audio-analysis-model-btn-desc{font-size:.4375rem}.audio-analysis-model-fixed{padding:.3125rem .375rem}.audio-analysis-model-fixed-name{font-size:.5625rem}.audio-analysis-model-fixed-desc{font-size:.4375rem}.audio-analysis-pitch-options{margin-top:.5rem;padding-top:.5rem;gap:.5rem}.audio-analysis-pitch-select{padding:.375rem 1.75rem .375rem .5rem;font-size:.6875rem}.audio-analysis-pitch-slider-container{margin-top:.25rem}.audio-analysis-pitch-slider-header{margin-bottom:.25rem}.audio-analysis-pitch-slider-label{font-size:.5rem}.audio-analysis-pitch-slider-value{font-size:.625rem;padding:.0625rem .25rem}.audio-analysis-pitch-slider-mark{font-size:.4375rem}.audio-analysis-pitch-toggle{gap:.375rem}.audio-analysis-pitch-toggle-track{width:1.75rem;height:.875rem}.audio-analysis-pitch-toggle-thumb{width:.625rem;height:.625rem}.audio-analysis-pitch-toggle-input:checked+.audio-analysis-pitch-toggle-track .audio-analysis-pitch-toggle-thumb{transform:translate(.875rem)}.audio-analysis-pitch-toggle-label{font-size:.625rem}.audio-analysis-pitch-stats-grid{grid-template-columns:1fr 1fr;gap:.5rem}.audio-analysis-pitch-stat{gap:.125rem}.audio-analysis-pitch-stat-label{font-size:.625rem}.audio-analysis-pitch-stat-value{font-size:.75rem}.audio-analysis-pitch-stat-bar-container{height:.3125rem}.audio-analysis-pitch-contour-content{gap:.5rem}.audio-analysis-pitch-contour-directions{gap:.25rem;padding-left:.375rem}.audio-analysis-pitch-contour-label{font-size:.6875rem}.audio-analysis-pitch-direction-badge{font-size:.625rem;padding:.0625rem .375rem;gap:.1875rem}.audio-analysis-pitch-contour-range-value{font-size:.75rem}.audio-analysis-pitch-contour-range-semitones{font-size:.625rem;margin-left:.25rem}.audio-analysis-pitch-contour-segments-value{font-size:.75rem}.audio-analysis-pitch-note-dist{gap:.25rem}.audio-analysis-pitch-note-row{grid-template-columns:2rem 1fr 2rem 2.5rem;gap:.375rem}.audio-analysis-pitch-note-name{font-size:.75rem}.audio-analysis-pitch-note-bar-container{height:.375rem}.audio-analysis-pitch-note-count,.audio-analysis-pitch-note-pct{font-size:.625rem}.audio-analysis-pitch-loading{gap:.75rem;padding:1rem .375rem}.audio-analysis-pitch-loading-icon{width:2.75rem;height:2.75rem}.audio-analysis-pitch-loading-title{font-size:.75rem}.audio-analysis-pitch-loading-desc{font-size:.6875rem;margin:.0625rem 0 .375rem}.audio-analysis-pitch-loading-progress{height:.3125rem}.audio-analysis-pitch-loading-percent{font-size:1rem;min-width:3rem}.audio-analysis-pitch-error{gap:.5rem;padding:.5rem}.audio-analysis-pitch-error-title{font-size:.75rem}.audio-analysis-pitch-error-message{font-size:.6875rem}.audio-analysis-color-properties{grid-template-columns:repeat(2,1fr)}.audio-analysis-amplitude-value{font-size:1.5rem;padding:.25rem 0}.audio-analysis-color-swatches{gap:.75rem}.audio-analysis-color-box{width:2.5rem;height:2.5rem}.audio-analysis-mode-buttons{flex-wrap:wrap}.audio-analysis-mode-btn{flex:1 1 calc(50% - .375rem);min-width:0}}.genre-bar-chart{display:flex;flex-direction:column;gap:.5rem;width:100%;max-height:400px;overflow-y:auto;padding:.25rem}.genre-bar-row{opacity:0;transform:translate(-20px);animation:genreBarEnter .4s cubic-bezier(.16,1,.3,1) forwards}.genre-bar-row:nth-child(1){animation-delay:0ms}.genre-bar-row:nth-child(2){animation-delay:40ms}.genre-bar-row:nth-child(3){animation-delay:80ms}.genre-bar-row:nth-child(4){animation-delay:.12s}.genre-bar-row:nth-child(5){animation-delay:.16s}.genre-bar-row:nth-child(6){animation-delay:.2s}.genre-bar-row:nth-child(7){animation-delay:.24s}.genre-bar-row:nth-child(8){animation-delay:.28s}.genre-bar-row:nth-child(9){animation-delay:.32s}.genre-bar-row:nth-child(10){animation-delay:.36s}.genre-bar-row:nth-child(11){animation-delay:.4s}.genre-bar-row:nth-child(12){animation-delay:.44s}.genre-bar-row:nth-child(13){animation-delay:.48s}.genre-bar-row:nth-child(14){animation-delay:.52s}.genre-bar-row:nth-child(15){animation-delay:.56s}.genre-bar-row:nth-child(16){animation-delay:.6s}.genre-bar-row:nth-child(17){animation-delay:.64s}.genre-bar-row:nth-child(18){animation-delay:.68s}.genre-bar-row:nth-child(19){animation-delay:.72s}.genre-bar-row:nth-child(20){animation-delay:.76s}@keyframes genreBarEnter{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.genre-bar-fill{--fill-width: 0%;animation:genreBarFillGrow .6s cubic-bezier(.16,1,.3,1) forwards}.genre-bar-row:nth-child(1) .genre-bar-fill{animation-delay:.1s}.genre-bar-row:nth-child(2) .genre-bar-fill{animation-delay:.14s}.genre-bar-row:nth-child(3) .genre-bar-fill{animation-delay:.18s}.genre-bar-row:nth-child(4) .genre-bar-fill{animation-delay:.22s}.genre-bar-row:nth-child(5) .genre-bar-fill{animation-delay:.26s}.genre-bar-row:nth-child(6) .genre-bar-fill{animation-delay:.3s}.genre-bar-row:nth-child(7) .genre-bar-fill{animation-delay:.34s}.genre-bar-row:nth-child(8) .genre-bar-fill{animation-delay:.38s}.genre-bar-row:nth-child(9) .genre-bar-fill{animation-delay:.42s}.genre-bar-row:nth-child(10) .genre-bar-fill{animation-delay:.46s}.genre-bar-row:nth-child(11) .genre-bar-fill{animation-delay:.5s}.genre-bar-row:nth-child(12) .genre-bar-fill{animation-delay:.54s}.genre-bar-row:nth-child(13) .genre-bar-fill{animation-delay:.58s}.genre-bar-row:nth-child(14) .genre-bar-fill{animation-delay:.62s}.genre-bar-row:nth-child(15) .genre-bar-fill{animation-delay:.66s}.genre-bar-row:nth-child(16) .genre-bar-fill{animation-delay:.7s}.genre-bar-row:nth-child(17) .genre-bar-fill{animation-delay:.74s}.genre-bar-row:nth-child(18) .genre-bar-fill{animation-delay:.78s}.genre-bar-row:nth-child(19) .genre-bar-fill{animation-delay:.82s}.genre-bar-row:nth-child(20) .genre-bar-fill{animation-delay:.86s}@keyframes genreBarFillGrow{0%{width:0}to{width:var(--fill-width)}}.genre-bar-chart-empty{display:flex;align-items:center;justify-content:center;padding:2rem;min-height:120px;background-color:hsl(var(--muted) / .1);border-radius:var(--radius)}.genre-bar-chart-empty-text{font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic}.genre-bar-row{display:grid;grid-template-columns:minmax(80px,140px) 1fr minmax(50px,60px);align-items:center;gap:.75rem;padding:.375rem 0;border-radius:calc(var(--radius) / 2);transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.genre-bar-row:hover{background-color:hsl(var(--muted) / .15)}.genre-bar-row:hover .genre-bar-value{color:hsl(var(--foreground));transform:scale(1.05)}.genre-bar-row:hover .genre-bar-label{color:hsl(var(--foreground))}.genre-bar-row:hover .genre-bar-track{box-shadow:inset 0 1px 2px #0003,0 0 0 1px hsl(var(--primary) / .2)}.genre-bar-row:hover .genre-bar-fill{filter:brightness(1.1);box-shadow:0 0 8px hsl(var(--primary) / .4)}.genre-bar-row.genre-bar-primary{background:linear-gradient(90deg,#ffd90014,#ffd90005);border:1px solid hsl(51 100% 50% / .25);border-radius:var(--radius);padding:.5rem;margin:.125rem 0;box-shadow:0 0 12px #ffd90026,inset 0 1px #ffffff0d}.genre-bar-row.genre-bar-primary:hover{background:linear-gradient(90deg,#ffd9001f,#ffd9000a);box-shadow:0 0 16px #ffd90040,inset 0 1px #ffffff14}.genre-bar-label{display:flex;align-items:center;gap:.25rem;font-size:.813rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--duration-fast) var(--ease-out)}.genre-bar-primary-indicator{color:#ffd900;font-weight:700;font-size:1rem;line-height:1;flex-shrink:0}.genre-bar-name{overflow:hidden;text-overflow:ellipsis}.genre-bar-primary .genre-bar-label{color:#ffd900;font-weight:600}.genre-bar-track{position:relative;width:100%;height:.75rem;background-color:hsl(var(--muted) / .3);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #00000026}.genre-bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:9999px;background:linear-gradient(90deg,hsl(var(--primary) / .7),hsl(var(--primary)));transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 6px hsl(var(--primary) / .3)}.genre-bar-fill-primary{background:linear-gradient(90deg,#ffd900,#fc3,#ffd900);box-shadow:0 0 10px #ffd90066;animation:genrePrimaryPulse 2s ease-in-out infinite}@keyframes genrePrimaryPulse{0%,to{box-shadow:0 0 8px #ffd90066}50%{box-shadow:0 0 14px #ffd90099}}.genre-bar-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,hsl(0 0% 100% / .2) 50%,transparent 100%);animation:genreShimmer 2.5s ease-in-out infinite;pointer-events:none}@keyframes genreShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.genre-bar-value{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-align:right;font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.genre-bar-primary .genre-bar-value{color:#ffd900e6}.genre-bar-row:hover .genre-bar-value:after{content:""}.genre-bar-legend{display:flex;justify-content:flex-start;padding-top:.5rem;margin-top:.25rem;border-top:1px solid hsl(var(--border) / .5);opacity:0;animation:genreLegendEnter .4s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.8s}@keyframes genreLegendEnter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.genre-bar-legend-item{display:flex;align-items:center;gap:.25rem;font-size:.688rem;color:hsl(var(--muted-foreground))}.genre-bar-legend-indicator{color:#ffd900;font-weight:700;font-size:.875rem;line-height:1}@media (max-width: 480px){.genre-bar-row{grid-template-columns:minmax(70px,100px) 1fr minmax(45px,55px);gap:.5rem;padding:.25rem 0}.genre-bar-label{font-size:.75rem}.genre-bar-value{font-size:.688rem}.genre-bar-track{height:.625rem}.genre-bar-legend-item{font-size:.625rem}}@media (prefers-reduced-motion: reduce){.genre-bar-row{animation:none;opacity:1;transform:none}.genre-bar-fill{animation:none;width:var(--fill-width)!important}.genre-bar-fill{transition:none}.genre-bar-fill-primary{animation:none;box-shadow:0 0 10px #ffd90066}.genre-bar-shimmer{animation:none;display:none}.genre-bar-legend{animation:none;opacity:1;transform:none}.genre-bar-row:hover .genre-bar-value{transform:none}}@media (forced-colors: active){.genre-bar-track{background-color:Canvas;border:1px solid CurrentColor;box-shadow:none}.genre-bar-fill,.genre-bar-fill-primary{background:Highlight;box-shadow:none;animation:none}.genre-bar-shimmer{display:none}.genre-bar-label,.genre-bar-value,.genre-bar-legend-item{color:CanvasText}.genre-bar-primary-indicator,.genre-bar-legend-indicator{color:CurrentColor}}.genre-bar-chart::-webkit-scrollbar{width:6px}.genre-bar-chart::-webkit-scrollbar-track{background:hsl(var(--muted) / .2);border-radius:3px}.genre-bar-chart::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:3px}.genre-bar-chart::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.genre-bar-chart{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) hsl(var(--muted) / .2)}.genre-classification-card{display:flex;flex-direction:column;gap:1rem}.genre-classification-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .3)}.genre-classification-title-row{display:flex;align-items:center;gap:.5rem}.genre-classification-title-icon{color:hsl(var(--primary))}.genre-classification-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.genre-classification-badge{font-size:.688rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3);padding:.25rem .5rem;border-radius:calc(var(--radius) / 2)}.genre-classification-primary{display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:linear-gradient(135deg,#ffd90014,#ffcc330a);border:1px solid hsl(51 100% 50% / .2);border-radius:var(--radius);text-align:center}.genre-classification-primary-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#ffd900cc;margin-bottom:.375rem}.genre-classification-primary-name{font-size:1.5rem;font-weight:700;color:#ffd900;text-shadow:0 0 20px hsl(51 100% 50% / .3);margin-bottom:.5rem}.genre-classification-primary-confidence{display:flex;align-items:center;gap:.25rem;color:hsl(var(--muted-foreground))}.genre-classification-primary-confidence-icon{color:#ffd900b3}.genre-classification-primary-confidence-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1}.genre-classification-primary-confidence-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.genre-classification-chart-container{margin-top:.5rem}.genre-classification-chart-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.genre-classification-chart-icon{color:hsl(var(--muted-foreground))}.genre-classification-chart-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.genre-card-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;text-align:center}.genre-card-loading-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--cute-purple) / .1));border-radius:50%;animation:genre-card-pulse 2s infinite ease-in-out}.genre-card-loading-icon-inner{color:hsl(var(--primary))}@keyframes genre-card-pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.genre-card-loading-content{display:flex;flex-direction:column;gap:.5rem}.genre-card-loading-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.genre-card-loading-desc{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.genre-card-loading-progress{width:100%;max-width:200px;height:4px;background-color:hsl(var(--border));border-radius:2px;overflow:hidden;margin-top:.5rem}.genre-card-loading-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:2px;transition:width .3s ease}.genre-card-progress{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.genre-card-progress-header{display:flex;align-items:center;gap:1rem}.genre-card-progress-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--cute-purple) / .1));border-radius:.75rem;flex-shrink:0}.genre-card-progress-icon-inner{color:hsl(var(--primary));animation:genre-card-pulse 2s infinite ease-in-out}.genre-card-progress-text{flex:1}.genre-card-progress-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .25rem}.genre-card-progress-desc{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.genre-card-progress-percent{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:ui-monospace,monospace}.genre-card-progress-bar-container{width:100%;height:6px;background-color:hsl(var(--border));border-radius:3px;overflow:hidden}.genre-card-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:3px;transition:width .3s ease}.genre-card-error{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;text-align:center}.genre-card-error-icon{color:hsl(var(--destructive))}.genre-card-error-content{display:flex;flex-direction:column;gap:.25rem}.genre-card-error-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.genre-card-error-message{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.genre-card-error-retry{margin-top:.5rem}.mood-classification-card{display:flex;flex-direction:column;gap:1rem}.mood-classification-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .3)}.mood-classification-header-icon{color:hsl(var(--primary))}.mood-classification-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.mood-classification-tags{display:flex;flex-wrap:wrap;gap:.5rem}.mood-classification-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--cute-purple) / .1));border:1px solid hsl(var(--primary) / .2);border-radius:1rem;transition:all .2s ease}.mood-classification-tag:hover{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary) / .3);transform:translateY(-1px)}.mood-classification-confidence{margin-top:.5rem}.mood-classification-confidence-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.mood-classification-confidence-icon{color:hsl(var(--muted-foreground))}.mood-classification-confidence-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.mood-classification-list{display:flex;flex-direction:column;gap:.5rem}.mood-classification-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem}.mood-classification-name{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mood-classification-bar{width:80px;height:6px;background-color:hsl(var(--border));border-radius:3px;overflow:hidden}.mood-classification-bar-fill{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:3px;transition:width .3s ease}.mood-classification-value{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace;min-width:2.5rem;text-align:right}.vibe-metrics-card{display:flex;flex-direction:column;gap:1rem}.vibe-metrics-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .3)}.vibe-metrics-header-icon{color:hsl(var(--primary))}.vibe-metrics-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.vibe-metrics-bars{display:flex;flex-direction:column;gap:.75rem}.vibe-metrics-item{display:flex;flex-direction:column;gap:.375rem}.vibe-metrics-item-header{display:flex;align-items:center;gap:.5rem}.vibe-metrics-item-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground));flex:1}.vibe-metrics-item-value{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace}.vibe-metrics-item-bar{width:100%;height:8px;background-color:hsl(var(--border));border-radius:4px;overflow:hidden}.vibe-metrics-item-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.vibe-metrics-empty{display:flex;align-items:center;justify-content:center;padding:1rem;background-color:hsl(var(--muted) / .2);border-radius:var(--radius)}.vibe-metrics-empty-text{font-size:.875rem;color:hsl(var(--muted-foreground))}.vibe-metrics-metadata{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.vibe-metrics-metadata-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.vibe-metrics-metadata-icon{color:hsl(var(--muted-foreground));width:14px;height:14px}.vibe-metrics-metadata-label{color:hsl(var(--muted-foreground))}.vibe-metrics-metadata-value{font-weight:600;color:hsl(var(--foreground))}.vibe-metrics-actions{display:flex;justify-content:flex-end;padding-top:.5rem}.radar-chart-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;max-width:250px;margin:0 auto}.radar-chart-canvas{display:block;width:100%;height:100%;border-radius:var(--radius);transition:opacity var(--duration-normal) var(--ease-out-cubic)}.radar-chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.radar-chart-empty-text{font-size:.875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em}@media (max-width: 480px){.radar-chart-container{max-width:200px}}.radar-chart-canvas{filter:drop-shadow(0 4px 12px hsl(var(--primary) / .1))}.radar-chart-container:hover .radar-chart-canvas{filter:drop-shadow(0 6px 16px hsl(var(--primary) / .2));transition:filter var(--duration-normal) var(--ease-out-cubic)}.timeline-scrubber{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .8),hsl(var(--surface-1) / .9));border-radius:.75rem;border:1px solid hsl(var(--border) / .4);-webkit-user-select:none;-moz-user-select:none;user-select:none}.timeline-scrubber-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .3)}.timeline-scrubber-time{display:flex;align-items:baseline;gap:.25rem;font-family:ui-monospace,monospace}.timeline-scrubber-time-current{font-size:1rem;font-weight:700;color:hsl(var(--primary))}.timeline-scrubber-time-separator{font-size:.75rem;color:hsl(var(--muted-foreground));opacity:.6}.timeline-scrubber-time-total{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.timeline-scrubber-point-counter{flex:1;text-align:center;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));background:hsl(var(--surface-3) / .5);padding:.25rem .5rem;border-radius:.25rem}.timeline-scrubber-sync-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2)));border:1px solid hsl(var(--border) / .6);border-radius:.375rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .2s ease}.timeline-scrubber-sync-btn:hover{background:linear-gradient(180deg,hsl(var(--surface-3)),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--foreground));transform:translateY(-1px)}.timeline-scrubber-sync-btn-active{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary));color:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .3)}.timeline-scrubber-sync-btn-active:hover{background:linear-gradient(135deg,hsl(var(--primary) / .3),hsl(var(--cute-purple) / .2))}.timeline-scrubber-track{position:relative;height:4rem;border-radius:.5rem;cursor:grab;overflow:hidden;background:hsl(var(--surface-3) / .4);border:1px solid hsl(var(--border) / .3)}.timeline-scrubber-track:active{cursor:grabbing}.timeline-scrubber-track:focus{outline:none;border-color:hsl(var(--primary) / .5);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.timeline-scrubber-track-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,hsl(var(--border) / .1) 0px,hsl(var(--border) / .1) 1px,transparent 1px,transparent 8px);pointer-events:none}.timeline-scrubber-bars{position:absolute;top:.5rem;right:0;bottom:.5rem;left:0;display:flex;align-items:flex-end;justify-content:space-evenly;gap:1px;padding:0 .25rem;pointer-events:none}.timeline-scrubber-bar{flex:1;max-width:6px;min-height:4px;background:var(--bar-color, hsl(var(--muted-foreground) / .4));border-radius:2px 2px 0 0;opacity:.4;transition:all .15s ease;pointer-events:auto;cursor:pointer}.timeline-scrubber-bar:hover,.timeline-scrubber-bar-hovered{opacity:.7;transform:scaleY(1.1)}.timeline-scrubber-bar-context{opacity:.6}.timeline-scrubber-bar-selected{opacity:1;box-shadow:0 0 8px var(--bar-color, hsl(var(--primary)));transform:scaleY(1.15)}.timeline-scrubber-playhead{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);pointer-events:none;z-index:10}.timeline-scrubber-playhead-line{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,hsl(var(--primary) / .8) 20%,hsl(var(--primary)) 50%,hsl(var(--primary) / .8) 80%,transparent 100%);box-shadow:0 0 8px hsl(var(--primary) / .6)}.timeline-scrubber-playhead-handle{position:absolute;top:-4px;left:50%;transform:translate(-50%);width:12px;height:8px;background:hsl(var(--primary));border-radius:2px 2px 0 0;box-shadow:0 0 6px hsl(var(--primary) / .6);cursor:grab;pointer-events:auto}.timeline-scrubber-playhead-handle:active{cursor:grabbing}.timeline-scrubber-playhead-handle:before{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid hsl(var(--primary))}.timeline-scrubber-context-overlay{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,hsl(var(--primary) / 0),hsl(var(--primary) / .08) 30%,hsl(var(--primary) / .12),hsl(var(--primary) / .08) 70%,hsl(var(--primary) / 0));pointer-events:none;border-radius:.25rem}.timeline-scrubber-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.375rem;min-height:1rem}.timeline-scrubber-hint{font-size:.5625rem;font-weight:500;color:hsl(var(--muted-foreground));opacity:.7;text-transform:uppercase;letter-spacing:.05em}.timeline-scrubber-sync-status{display:flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:600;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em;animation:pulse-sync 2s infinite ease-in-out}.timeline-scrubber-sync-icon{animation:rotate-sync 2s linear infinite}@keyframes rotate-sync{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-sync{0%,to{opacity:.8}50%{opacity:1}}@media (max-width: 480px){.timeline-scrubber{padding:.5rem}.timeline-scrubber-track{height:3rem}.timeline-scrubber-time-current{font-size:.875rem}.timeline-scrubber-point-counter{font-size:.5rem;padding:.125rem .375rem}.timeline-scrubber-bar{max-width:4px}}.timeline-scrubber{box-shadow:0 4px 16px #0003}.timeline-scrubber-track{box-shadow:inset 0 2px 8px #0000001a}.timeline-scrubber-sync-btn:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--primary))}.timeline-scrubber-bar:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary))}.pitch-contour-graph{display:flex;flex-direction:column;background:var(--card-bg, #1a1a2e);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);overflow:hidden}.pitch-contour-graph--empty{justify-content:center;align-items:center;min-height:150px}.pitch-contour-graph-empty-message{margin:0;color:var(--text-muted, #6a6a7a);font-size:.875rem}.pitch-contour-graph-canvas{position:relative}.pitch-contour-svg{width:100%;height:auto;cursor:crosshair;display:block}.pitch-contour-playhead-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.pitch-contour-svg--disabled{cursor:not-allowed;opacity:.6}.pitch-contour-background{fill:var(--bg-tertiary, #0f0f1a)}.pitch-contour-grid-line{stroke:var(--border-color-light, #1a1a2a);stroke-width:1;stroke-dasharray:4 4;opacity:.5}.pitch-contour-y-label{font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;fill:var(--text-muted, #6a6a7a);font-weight:500}.pitch-contour-x-label{font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;fill:var(--text-muted, #6a6a7a)}.pitch-contour-time-marker{stroke:var(--border-color, #2a2a4a);stroke-width:1}.pitch-contour-line{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.pitch-contour-line--unvoiced{stroke-width:1;stroke-dasharray:4 4;opacity:.4;filter:none}.pitch-contour-point{cursor:pointer;transition:r .15s ease}.pitch-contour-point--hovered{stroke:#fff;stroke-width:1}.pitch-contour-point:hover{r:5;stroke:#fff;stroke-width:1}.pitch-contour-point--selected{stroke:#fff;stroke-width:2}.pitch-contour-note-label{font-family:JetBrains Mono,Fira Code,monospace;font-size:9px;font-weight:600;opacity:.9;pointer-events:none;text-shadow:0 0 4px var(--card-bg, #1a1a2e)}.pitch-contour-playhead{stroke:hsl(var(--primary));stroke-width:2;stroke-linecap:round;pointer-events:none}.pitch-contour-tooltip{padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a);min-height:40px}.pitch-contour-tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.pitch-contour-tooltip-note{font-size:1rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace}.pitch-contour-tooltip-beat{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.pitch-contour-tooltip-details{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.pitch-contour-tooltip-time{font-family:JetBrains Mono,Fira Code,monospace}.pitch-contour-tooltip-separator{color:var(--text-muted, #6a6a7a);margin:0 .25rem}.pitch-contour-tooltip-direction{text-transform:capitalize;font-weight:500}.pitch-contour-tooltip-skeleton{opacity:.3}.pitch-contour-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.pitch-contour-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.pitch-contour-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.pitch-contour-play-btn:active:not(:disabled){transform:scale(.95)}.pitch-contour-play-btn:disabled{opacity:.5;cursor:not-allowed}.pitch-contour-play-btn:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.pitch-contour-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.pitch-contour-range{margin-left:auto;font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a)}.pitch-contour-legend{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-top:1px solid var(--border-color, #2a2a4a)}.pitch-contour-legend-item{display:flex;align-items:center;gap:.375rem}.pitch-contour-legend-color{width:12px;height:3px;border-radius:2px}.pitch-contour-legend-label{font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}@media (max-width: 640px){.pitch-contour-controls{flex-wrap:wrap;gap:.5rem}.pitch-contour-range{margin-left:0;width:100%;text-align:center}.pitch-contour-legend{flex-wrap:wrap;gap:.5rem}.pitch-contour-tooltip-details{flex-direction:column;align-items:flex-start;gap:.125rem}.pitch-contour-tooltip-separator{display:none}}@media (prefers-reduced-motion: reduce){.pitch-contour-point{transition:none}}@media (prefers-contrast: more){.pitch-contour-line{stroke-width:3}.pitch-contour-point{stroke:#fff;stroke-width:1}.pitch-contour-grid-line{stroke-width:1;stroke-dasharray:none;opacity:.8}.pitch-contour-playhead{stroke-width:3}}.audio-analysis-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.audio-analysis-container{gap:1rem}}.audio-analysis-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.audio-analysis-header-left{display:flex;align-items:center}.audio-analysis-header-title-row{display:flex;align-items:center;gap:.75rem}.audio-analysis-header-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .2));border-radius:.5rem;color:hsl(var(--primary))}.audio-analysis-header-icon{width:1.125rem;height:1.125rem}.audio-analysis-header-titles{display:flex;flex-direction:column;gap:.125rem}.audio-analysis-header-title{font-size:1.25rem;font-weight:600;line-height:1.2}.audio-analysis-header-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground))}.audio-analysis-header-right{display:flex;align-items:center;gap:1rem}.audio-analysis-selected-track{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.audio-analysis-selected-track-image{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.375rem;overflow:hidden;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .15));flex-shrink:0}.audio-analysis-selected-track-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.audio-analysis-selected-track-fallback{width:1rem;height:1rem;color:hsl(var(--primary))}.audio-analysis-selected-track-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.audio-analysis-selected-track-title{font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.audio-analysis-selected-track-artist{font-size:.6875rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-analysis-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:.75rem}.audio-analysis-empty-icon{font-size:3rem;margin-bottom:.5rem}.audio-analysis-empty-title{font-size:1.5rem;font-weight:700;color:hsl(var(--foreground))}.audio-analysis-empty-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.audio-analysis-primary-card{margin-top:.5rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .8),hsl(var(--surface-1) / .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--primary) / .15);border-radius:1.5rem;overflow:hidden;box-shadow:0 12px 40px #00000040}.beat-detection-results-card{margin-top:1rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .8),hsl(var(--surface-1) / .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--primary) / .15);border-radius:1.5rem;overflow:hidden;box-shadow:0 12px 40px #00000040}.audio-analysis-primary-layout{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.audio-analysis-song-display{align-items:center;justify-content:center}@media (max-width: 1024px){.audio-analysis-primary-layout{text-align:center}}.audio-analysis-song-display{display:flex;align-items:center;gap:1.25rem}.audio-analysis-song-artwork{position:relative;width:5.5rem;height:5.5rem;border-radius:1rem;overflow:hidden;box-shadow:0 8px 20px #0006;border:2px solid hsl(var(--primary) / .2);flex-shrink:0;background:hsl(var(--surface-3))}.audio-analysis-song-artwork img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.audio-analysis-artwork-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--background) / .6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.audio-analysis-sparkle-icon{width:2rem;height:2rem;color:hsl(var(--primary));animation:pulse-glow 2s infinite ease-in-out}@keyframes pulse-glow{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1;filter:drop-shadow(0 0 8px hsl(var(--primary)))}}.audio-analysis-song-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0;text-align:center;align-items:center}.audio-analysis-song-title-large{font-size:clamp(.875rem,3vw,1.25rem);font-weight:800;color:hsl(var(--foreground));letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.audio-analysis-song-artist-large{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));opacity:.8}.audio-analysis-song-status-badge{margin-top:.5rem}.audio-analysis-eq-integration{display:flex;flex-direction:column;gap:1rem;padding:0 1.25rem;border-left:1px solid hsl(var(--border) / .5);border-right:1px solid hsl(var(--border) / .5)}@media (max-width: 1024px){.audio-analysis-eq-integration{border:none;padding:1rem 0;border-top:1px solid hsl(var(--border) / .5);border-bottom:1px solid hsl(var(--border) / .5)}}.audio-analysis-eq-header-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;text-align:center}.audio-analysis-eq-title-main{font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary));opacity:.9}.audio-analysis-eq-subtitle-main{font-size:.625rem;color:hsl(var(--muted-foreground));opacity:.6}.audio-analysis-eq-grid{display:flex;justify-content:center;align-items:flex-end;gap:.5rem}.audio-analysis-eq-band-compact{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:3.25rem}.audio-analysis-eq-slider-vertical{height:100px;width:24px;display:flex;align-items:center;justify-content:center;position:relative}.audio-analysis-eq-metadata{display:flex;flex-direction:column;align-items:center;margin-top:.25rem}.audio-analysis-eq-name{font-size:.625rem;font-weight:600;text-transform:uppercase;color:hsl(var(--muted-foreground));letter-spacing:.05em}.audio-analysis-eq-multiplier{font-size:.75rem;font-weight:700;color:hsl(var(--primary));font-family:ui-monospace,monospace}.audio-analysis-eq-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;height:24px;background:transparent;outline:none;cursor:pointer;transform:rotate(-90deg);transform-origin:center center;margin:0;z-index:2}.audio-analysis-eq-slider::-webkit-slider-runnable-track{width:100px;height:4px;background:linear-gradient(to right,hsl(var(--border) / .8),hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .8) var(--slider-value));border-radius:2px;border:none}.audio-analysis-eq-slider::-moz-range-track{width:100px;height:4px;background:hsl(var(--border) / .8);border-radius:2px;border:none}.audio-analysis-eq-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:12px;background:hsl(var(--primary));border-radius:2px;cursor:ns-resize;margin-top:-4px;box-shadow:0 0 15px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .5);-webkit-transition:all .2s ease;transition:all .2s ease}.audio-analysis-eq-slider::-webkit-slider-thumb:hover{background:hsl(var(--primary-foreground));box-shadow:0 0 20px hsl(var(--primary) / .8);transform:scaleY(1.2)}.audio-analysis-eq-slider::-moz-range-thumb{width:20px;height:12px;background:hsl(var(--primary));border-radius:2px;cursor:ns-resize;border:none;box-shadow:0 0 15px hsl(var(--primary) / .5)}.audio-analysis-eq-slider-vertical:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:repeating-linear-gradient(to bottom,hsl(var(--border) / .3) 0px,hsl(var(--border) / .3) 2px,transparent 2px,transparent 10px);transform:translate(-50%);z-index:1}.audio-analysis-action-integration{display:flex;flex-direction:column;align-items:center;gap:.75rem}.audio-analysis-action-row{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%}.audio-analysis-controller-mode-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.625rem 0}.audio-analysis-controller-mode-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.06em}.audio-analysis-controller-mode-buttons{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.audio-analysis-controller-mode-description{font-size:.7rem;color:hsl(var(--muted-foreground));text-align:center;line-height:1.4;margin:0}.audio-analysis-controller-mode-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);min-width:6.5rem}.audio-analysis-controller-mode-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.audio-analysis-controller-mode-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.audio-analysis-controller-mode-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.audio-analysis-controller-mode-button:disabled{opacity:.5;cursor:not-allowed}.audio-analysis-controller-mode-button-text{font-weight:600;margin-bottom:.25rem}.audio-analysis-controller-mode-button-desc{font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);letter-spacing:.05em}.audio-analysis-controller-mode-button--active .audio-analysis-controller-mode-button-desc{color:hsl(var(--primary) / .8)}.audio-analysis-primary-action-button{height:3.25rem;border-radius:.75rem;font-weight:700;font-size:1rem;letter-spacing:.02em;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-purple)));box-shadow:0 4px 15px hsl(var(--primary) / .3);transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.audio-analysis-primary-action-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px hsl(var(--primary) / .4)}.audio-analysis-primary-action-button:active:not(:disabled){transform:translateY(-1px)}.audio-analysis-playback-warning{font-size:.6875rem;color:hsl(var(--warning));font-style:italic;text-align:center;line-height:1.2}.audio-analysis-error-message{font-size:.75rem;color:hsl(var(--destructive));background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .2);border-radius:.375rem;padding:.5rem .75rem;text-align:center;margin-top:.5rem}.audio-analysis-storage-warning{display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;color:hsl(var(--warning));background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .2);border-radius:.375rem;padding:.625rem .75rem;margin-top:.5rem}.audio-analysis-storage-warning-text{line-height:1.4}.audio-analysis-storage-warning-actions{display:flex;gap:.5rem;justify-content:flex-end}.audio-analysis-storage-warning-actions .button{font-size:.6875rem;padding:.25rem .5rem}.audio-analysis-short-track-warning{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;color:hsl(var(--warning));background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .2);border-radius:.375rem;padding:.5rem .75rem;margin-top:.5rem}.audio-analysis-short-track-warning-icon{font-size:.875rem}.audio-analysis-short-track-warning-text{line-height:1.3}.audio-analysis-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;align-items:start;margin-top:1rem}@media (min-width: 1024px){.audio-analysis-results{grid-template-columns:repeat(2,1fr);gap:.75rem}}.audio-analysis-card.full-width,.audio-analysis-card:first-child{grid-column:1 / -1}@media (min-width: 1024px){.audio-analysis-card:first-child{grid-column:1 / 2;grid-row:span 2}}.audio-analysis-card{background-color:hsl(var(--surface-2));padding:1rem;border-radius:1rem;border:1px solid hsl(var(--border) / .5)}.audio-analysis-card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:hsl(var(--foreground));margin-top:0;margin-bottom:.75rem}.audio-analysis-card--metadata .audio-analysis-card-title{font-size:1rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:.75rem}.audio-analysis-card-title-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.audio-analysis-card-subtitle{font-size:.6875rem;font-weight:400;color:hsl(var(--muted-foreground));opacity:.7;margin-left:auto}.audio-analysis-frequency-container{display:flex;align-items:flex-end;justify-content:center;gap:1.5rem;min-height:10rem;padding:1rem 0}.audio-analysis-frequency-bar{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:4rem}.audio-analysis-bar-container{display:flex;align-items:flex-end;justify-content:center;height:100%;width:100%}.audio-analysis-bar{width:2.25rem;border-radius:.5rem .5rem 0 0;transition:height var(--duration-slow) var(--ease-spring)}.audio-analysis-bar-bass{background:linear-gradient(to top,#1147bb,#2463eb);box-shadow:0 0 16px #2463eb59}.audio-analysis-bar-mid{background:linear-gradient(to top,#12873d,#1fe066);box-shadow:0 0 16px #1fe06659}.audio-analysis-bar-treble{background:linear-gradient(to top,#c75305,#f97015);box-shadow:0 0 16px #f9701559}.audio-analysis-bar-label{font-size:.75rem;font-weight:600}.audio-analysis-bar-label-bass{color:#2463eb}.audio-analysis-bar-label-mid{color:#1fe066}.audio-analysis-bar-label-treble{color:#f97015}.audio-analysis-bar-value{font-size:.875rem;font-weight:700}.audio-analysis-frequency-divider{width:100%;height:1px;background-color:hsl(var(--border) / .5);margin-top:.5rem}.audio-analysis-amplitude-value{font-size:2rem;font-weight:800;color:hsl(var(--primary));text-align:center;padding:.5rem 0}.audio-analysis-energy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 480px){.audio-analysis-energy-grid{grid-template-columns:1fr}}.audio-analysis-energy-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:linear-gradient(135deg,hsl(var(--surface-3) / .8),hsl(var(--surface-2) / .9));border-radius:.75rem;border:1px solid hsl(var(--border) / .3)}.audio-analysis-energy-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-energy-value{font-size:1.5rem;font-weight:800;color:hsl(var(--primary));font-family:ui-monospace,monospace}.audio-analysis-energy-description{font-size:.625rem;color:hsl(var(--muted-foreground));opacity:.8}.audio-analysis-metrics-list{display:flex;flex-direction:column;gap:.5rem}.audio-analysis-metric-item{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;padding:.25rem 0}.audio-analysis-metric-label{color:hsl(var(--muted-foreground))}.audio-analysis-metric-value{font-weight:600;font-family:ui-monospace,monospace}.audio-analysis-color-swatches{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.audio-analysis-color-swatch{display:flex;flex-direction:column;align-items:center;gap:.375rem}.audio-analysis-color-box{width:3rem;height:3rem;border-radius:.75rem;border:1px solid hsl(var(--border));transition:transform var(--duration-normal) var(--ease-out-cubic);cursor:default;box-shadow:0 4px 12px #0000001a}.audio-analysis-color-box:hover{transform:scale(1.1);box-shadow:0 8px 16px #0003,0 0 0 2px hsl(var(--primary))}.audio-analysis-color-name{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground))}.audio-analysis-color-hex{font-size:.625rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground));opacity:.75}.audio-analysis-all-colors{margin-bottom:1rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.audio-analysis-all-colors-label{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.audio-analysis-all-colors-grid{display:flex;gap:.375rem;flex-wrap:wrap}.audio-analysis-color-dot{width:1.25rem;height:1.25rem;border-radius:.375rem;border:1px solid hsl(var(--border));transition:transform var(--duration-fast) var(--ease-out-cubic)}.audio-analysis-color-dot:hover{transform:scale(1.2)}.audio-analysis-color-properties{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;font-size:.6875rem;margin-top:.75rem}.audio-analysis-color-property{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background-color:hsl(var(--surface-3));border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.audio-analysis-property-label{color:hsl(var(--muted-foreground));font-size:.625rem;text-transform:uppercase;letter-spacing:.05em}.audio-analysis-property-value{font-weight:700;color:hsl(var(--foreground))}.audio-analysis-timeline{position:relative;height:3rem;background-color:hsl(var(--muted) / .2);border-radius:.75rem;overflow:hidden;margin-bottom:1.5rem;margin-top:2rem;border:1px solid hsl(var(--border) / .3)}.audio-analysis-timeline-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 1rem}.audio-analysis-timeline-line{width:100%;height:1px;background-color:hsl(var(--border) / .5)}.audio-analysis-timeline-marker{position:absolute;top:0;bottom:0;width:1px}.audio-analysis-timeline-marker-start{left:0;background-color:hsl(var(--primary) / .5)}.audio-analysis-timeline-marker-end{right:0;background-color:hsl(var(--primary) / .5)}.audio-analysis-timeline-marker-line{width:100%;height:100%;background-color:inherit}.audio-analysis-timeline-marker-label{position:absolute;bottom:.375rem;font-size:.625rem;font-weight:700;color:hsl(var(--muted-foreground))}.audio-analysis-timeline-marker-start .audio-analysis-timeline-marker-label{left:.5rem}.audio-analysis-timeline-marker-end .audio-analysis-timeline-marker-label{right:.5rem}.audio-analysis-sample-marker{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center}.audio-analysis-sample-marker-line{width:1px;height:100%;background-color:hsl(var(--primary));opacity:.6}.audio-analysis-sample-marker-percent{position:absolute;top:-1.25rem;font-size:.625rem;font-weight:700;color:hsl(var(--primary));white-space:nowrap}.audio-analysis-sample-marker-dot{position:absolute;top:50%;transform:translateY(-50%);width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;border:2px solid hsl(var(--background));box-shadow:0 0 10px hsl(var(--primary) / .3)}.audio-analysis-sample-marker-number{position:absolute;bottom:-1.25rem;font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground))}.audio-analysis-timeline-legend{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:hsl(var(--muted-foreground));padding-top:.5rem}.audio-analysis-timeline-duration{font-weight:700;color:hsl(var(--foreground))}.audio-analysis-metadata-list{display:flex;flex-direction:column;gap:.5rem}.audio-analysis-metadata-item{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;padding:.25rem 0}.audio-analysis-metadata-label{color:hsl(var(--muted-foreground));font-weight:500}.audio-analysis-metadata-value{font-weight:600}.fade-in{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.audio-analysis-mode-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;border:1px solid hsl(var(--border) / .5);border-radius:1rem}.audio-analysis-mode-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.25rem;text-align:center}.audio-analysis-mode-title{font-size:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--primary));opacity:.9}.audio-analysis-mode-subtitle{font-size:.625rem;color:hsl(var(--muted-foreground));opacity:.6}.audio-analysis-mode-buttons{display:flex;justify-content:center;align-items:stretch;gap:.5rem}.audio-analysis-mode-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem 1rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .6),hsl(var(--surface-2) / .8));border:1px solid hsl(var(--border) / .6);border-radius:.5rem;cursor:pointer;transition:all .25s ease;min-width:4.5rem;position:relative;overflow:hidden}.audio-analysis-mode-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,hsl(var(--border) / .15) 0px,hsl(var(--border) / .15) 1px,transparent 1px,transparent 6px);opacity:.5;pointer-events:none}.audio-analysis-mode-btn:hover{background:linear-gradient(180deg,hsl(var(--surface-3) / .9),hsl(var(--surface-2)));border-color:hsl(var(--primary) / .5);transform:translateY(-1px)}.audio-analysis-mode-btn-active{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary));box-shadow:0 0 15px hsl(var(--primary) / .25),inset 0 1px hsl(var(--primary) / .2),inset 0 -1px #0000001a}.audio-analysis-mode-btn-active:after{content:"";position:absolute;top:.25rem;left:50%;transform:translate(-50%);width:1.5rem;height:3px;background:hsl(var(--primary));border-radius:2px;box-shadow:0 0 8px hsl(var(--primary) / .6)}.audio-analysis-mode-btn-active .audio-analysis-mode-icon{color:hsl(var(--primary));filter:drop-shadow(0 0 4px hsl(var(--primary) / .5))}.audio-analysis-mode-btn-active .audio-analysis-mode-label{color:hsl(var(--foreground));font-weight:700}.audio-analysis-mode-btn-active .audio-analysis-mode-desc{color:hsl(var(--primary) / .9);opacity:1}.audio-analysis-mode-icon{color:hsl(var(--muted-foreground));transition:all .25s ease;width:1.125rem;height:1.125rem}.audio-analysis-mode-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));transition:color .25s ease}.audio-analysis-mode-desc{font-size:.5625rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));opacity:.7;transition:all .25s ease}.audio-analysis-timeline-options{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.audio-analysis-timeline-toggle{display:flex;gap:.5rem}.audio-analysis-timeline-toggle-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.5rem .625rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden}.audio-analysis-timeline-toggle-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,hsl(var(--border) / .1) 0px,hsl(var(--border) / .1) 1px,transparent 1px,transparent 4px);opacity:.6;pointer-events:none}.audio-analysis-timeline-toggle-btn:hover{background:linear-gradient(180deg,hsl(var(--surface-3) / .8),hsl(var(--surface-2)));border-color:hsl(var(--primary) / .5);transform:translateY(-1px)}.audio-analysis-timeline-toggle-btn-active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2),inset 0 1px hsl(var(--primary) / .15)}.audio-analysis-timeline-toggle-btn-active:after{content:"";position:absolute;top:.1875rem;left:50%;transform:translate(-50%);width:1rem;height:2px;background:hsl(var(--primary));border-radius:1px;box-shadow:0 0 6px hsl(var(--primary) / .5)}.audio-analysis-timeline-toggle-btn-active .audio-analysis-timeline-toggle-label{color:hsl(var(--foreground));font-weight:700}.audio-analysis-timeline-toggle-btn-active .audio-analysis-timeline-toggle-value{color:hsl(var(--primary));opacity:1}.audio-analysis-timeline-toggle-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));transition:color .25s ease}.audio-analysis-timeline-toggle-value{font-size:.5625rem;font-family:ui-monospace,monospace;font-weight:700;color:hsl(var(--muted-foreground));opacity:.8;transition:all .25s ease}.audio-analysis-timeline-slider-container{margin-top:.625rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.audio-analysis-timeline-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.audio-analysis-timeline-slider-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.audio-analysis-timeline-slider-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.audio-analysis-timeline-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%);border-radius:2px;cursor:pointer;transition:background .1s ease;position:relative}.audio-analysis-timeline-slider:before{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}.audio-analysis-timeline-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px}.audio-analysis-timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;margin-top:-3px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:2}.audio-analysis-timeline-slider::-webkit-slider-thumb:hover{transform:scaleY(1.2);box-shadow:0 0 15px hsl(var(--primary) / .7)}.audio-analysis-timeline-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scaleY(1.1)}.audio-analysis-timeline-slider::-moz-range-thumb{width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;border:none;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.audio-analysis-timeline-slider::-moz-range-track{width:100%;height:4px;background:hsl(var(--border) / .5);border-radius:2px}.audio-analysis-timeline-slider::-moz-range-progress{background:hsl(var(--primary) / .5);border-radius:2px}.audio-analysis-timeline-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem;padding:0 .125rem}.audio-analysis-timeline-slider-mark{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--muted-foreground));opacity:.7}.audio-analysis-card--timeline-viz{grid-column:1 / -1}.audio-analysis-timeline-viz-layout{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;margin-top:.5rem}@media (max-width: 768px){.audio-analysis-timeline-viz-layout{grid-template-columns:1fr;gap:1rem}}.audio-analysis-radar-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.audio-analysis-radar-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;max-width:200px}.audio-analysis-radar-metric{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem;background:hsl(var(--surface-3) / .5);border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.audio-analysis-radar-metric-label{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.audio-analysis-radar-metric-value{font-size:.875rem;font-weight:800;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.audio-analysis-scrubber-section{min-width:0}.audio-analysis-comparison-toggle{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .2)}.audio-analysis-comparison-btn{flex-shrink:0}.audio-analysis-comparison-hint{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}.audio-analysis-comparison-container{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .6),hsl(var(--surface-1) / .8));border-radius:1rem;border:1px solid hsl(var(--primary) / .1)}@media (max-width: 768px){.audio-analysis-comparison-toggle{flex-direction:column;align-items:flex-start;gap:.5rem}.audio-analysis-comparison-hint{font-size:.6875rem}}.audio-analysis-export-section{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .2)}.audio-analysis-export-btn{flex-shrink:0}.audio-analysis-export-hint{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}@media (max-width: 768px){.audio-analysis-export-section{flex-direction:column;align-items:flex-start;gap:.5rem}.audio-analysis-export-hint{font-size:.6875rem}}.audio-analysis-subdivision-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.audio-analysis-subdivision-timeline-card{margin-top:1rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .8),hsl(var(--surface-1) / .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--primary) / .15);border-radius:1.5rem;overflow:hidden;box-shadow:0 12px 40px #00000040}.audio-analysis-chart-editor-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.audio-analysis-chart-editor-card{margin-top:1rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .8),hsl(var(--surface-1) / .95));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid hsl(var(--cute-purple) / .15);border-radius:1.5rem;overflow:hidden;box-shadow:0 12px 40px #00000040}@media (max-width: 768px){.audio-analysis-subdivision-section,.audio-analysis-chart-editor-section{margin-top:.5rem;padding-top:.5rem}}@keyframes chart-editor-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.audio-analysis-chart-editor-placeholder{opacity:.9}.audio-analysis-chart-editor-badge--disabled{background:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));border-color:hsl(var(--muted) / .2)}.audio-analysis-chart-editor-placeholder-content{padding:1.5rem;text-align:center;animation:chart-editor-slide-down .2s ease-out}.audio-analysis-chart-editor-placeholder-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.8}.audio-analysis-chart-editor-placeholder-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.audio-analysis-chart-editor-placeholder-text{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0 0 .75rem;max-width:400px;margin-left:auto;margin-right:auto}.audio-analysis-chart-editor-placeholder-text strong{color:hsl(var(--foreground));font-weight:600}.audio-analysis-chart-editor-placeholder-hint{font-size:.6875rem;color:hsl(var(--muted-foreground) / .8);line-height:1.4;padding:.5rem .75rem;background:hsl(var(--surface-3) / .5);border-radius:6px;border:1px solid hsl(var(--border) / .2);max-width:380px;margin:0 auto}@media (max-width: 640px){.audio-analysis-chart-editor-placeholder-content{padding:1rem}.audio-analysis-chart-editor-placeholder-icon{font-size:2rem;margin-bottom:.5rem}.audio-analysis-chart-editor-placeholder-title{font-size:.75rem}.audio-analysis-chart-editor-placeholder-text{font-size:.6875rem}.audio-analysis-chart-editor-placeholder-hint{font-size:.625rem;padding:.375rem .5rem}}.step-content-container{position:relative;overflow:clip}.step-content{width:100%;transform:var(--gpu-accel)}.step-content-enter-forward{animation:step-slide-in-from-right .3s var(--ease-out-cubic) forwards}.step-content-exit-forward{animation:step-slide-out-to-left .3s var(--ease-in-cubic) forwards}@keyframes step-slide-in-from-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes step-slide-out-to-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.step-content-enter-backward{animation:step-slide-in-from-left .3s var(--ease-out-cubic) forwards}.step-content-exit-backward{animation:step-slide-out-to-right .3s var(--ease-in-cubic) forwards}@keyframes step-slide-in-from-left{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes step-slide-out-to-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.step-content-fade-in{animation:step-fade-in .2s var(--ease-out-cubic) forwards}.step-content-fade-out{animation:step-fade-out .2s var(--ease-in-cubic) forwards}@keyframes step-fade-in{0%{opacity:0}to{opacity:1}}@keyframes step-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){.step-content-enter-forward,.step-content-exit-forward,.step-content-enter-backward,.step-content-exit-backward{animation:step-fade-in .15s var(--ease-out-cubic) forwards}}.audio-analysis-step-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;gap:1rem}.audio-analysis-step-placeholder-icon{font-size:2.5rem;margin-bottom:.5rem}.audio-analysis-step-placeholder-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.audio-analysis-step-placeholder-text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5;max-width:400px}.audio-analysis-step-placeholder-hint{font-size:.8125rem;color:hsl(var(--muted-foreground) / .8);margin-top:.75rem;padding:.75rem;background:hsl(var(--surface-2));border-radius:var(--radius)}.audio-analysis-step-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}@media (max-width: 768px){.step-content-container{margin:0 -.5rem}.step-content{padding:0 .5rem}.audio-analysis-step-placeholder{padding:1.5rem 1rem}.audio-analysis-step-placeholder-icon{font-size:2rem}.audio-analysis-step-title{font-size:.9375rem}}@media (max-width: 480px){.step-content-container{margin:0 -.25rem}.step-content{padding:0 .25rem}.audio-analysis-step-placeholder{padding:1.25rem .75rem;gap:.75rem}.audio-analysis-step-placeholder-icon{font-size:1.75rem;margin-bottom:.25rem}.audio-analysis-step-placeholder-title{font-size:1rem}.audio-analysis-step-placeholder-text{font-size:.8125rem;max-width:280px}.audio-analysis-step-placeholder-hint{font-size:.75rem;padding:.5rem}.audio-analysis-step-title{font-size:.875rem;margin-bottom:.75rem;padding-bottom:.375rem}}.audio-analysis-rhythm-generation-card{min-height:300px}.audio-analysis-rhythm-generation-section{display:flex;flex-direction:column;gap:1.5rem}.audio-analysis-rhythm-generation-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px dashed hsl(var(--border))}.audio-analysis-rhythm-generation-placeholder-icon{font-size:3rem;opacity:.6}.audio-analysis-rhythm-generation-placeholder-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.audio-analysis-rhythm-generation-placeholder-text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px}@media (max-width: 768px){.audio-analysis-rhythm-generation-placeholder{padding:2rem 1.5rem}.audio-analysis-rhythm-generation-placeholder-icon{font-size:2.5rem}.audio-analysis-rhythm-generation-placeholder-title{font-size:1.125rem}.audio-analysis-rhythm-generation-placeholder-text{font-size:.8125rem}}@media (max-width: 480px){.audio-analysis-rhythm-generation-placeholder{padding:1.5rem 1rem}.audio-analysis-rhythm-generation-placeholder-icon{font-size:2rem}.audio-analysis-rhythm-generation-placeholder-title{font-size:1rem}.audio-analysis-rhythm-generation-placeholder-text{font-size:.75rem;max-width:280px}}.audio-analysis-rhythm-generation-progress{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px solid hsl(var(--border))}.audio-analysis-progress-indicator{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:hsl(var(--accent) / .1);border-radius:50%;animation:pulse 2s ease-in-out infinite}.audio-analysis-progress-indicator svg{width:32px;height:32px;color:hsl(var(--accent))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.audio-analysis-progress-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.audio-analysis-progress-bar-container{width:100%;max-width:400px;height:8px;background:hsl(var(--surface-3));border-radius:4px;overflow:hidden}.audio-analysis-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--accent)),hsl(var(--accent) / .8));border-radius:4px;transition:width .3s ease}.audio-analysis-progress-phase{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.audio-analysis-progress-percent{font-size:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);margin:0}.audio-analysis-rhythm-generation-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--destructive) / .05);border-radius:.75rem;border:1px solid hsl(var(--destructive) / .2)}.audio-analysis-error-icon{font-size:3rem}.audio-analysis-error-title{font-size:1.25rem;font-weight:600;color:hsl(var(--destructive));margin:0}.audio-analysis-error-text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px;margin:0}.audio-analysis-error-actions{display:flex;gap:.75rem;margin-top:.5rem}.audio-analysis-rhythm-generation-result{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem;background:hsl(var(--success) / .05);border-radius:.75rem;border:1px solid hsl(var(--success) / .2)}.audio-analysis-result-icon{font-size:3rem}.audio-analysis-result-title{font-size:1.25rem;font-weight:600;color:hsl(var(--success));margin:0}.audio-analysis-result-stats{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin:.5rem 0}.audio-analysis-result-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.audio-analysis-stat-label{font-size:.75rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.audio-analysis-stat-value{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.audio-analysis-result-note{font-size:.8125rem;color:hsl(var(--muted-foreground));font-style:italic;margin:0;max-width:400px}@media (max-width: 768px){.audio-analysis-rhythm-generation-progress,.audio-analysis-rhythm-generation-error,.audio-analysis-rhythm-generation-result{padding:2rem 1.5rem}.audio-analysis-result-stats{flex-direction:column;gap:1rem}.audio-analysis-error-actions{flex-direction:column;width:100%}.audio-analysis-error-actions button{width:100%}}@media (max-width: 480px){.audio-analysis-rhythm-generation-progress,.audio-analysis-rhythm-generation-error,.audio-analysis-rhythm-generation-result{padding:1.5rem 1rem}.audio-analysis-progress-title,.audio-analysis-error-title,.audio-analysis-result-title{font-size:1.125rem}.audio-analysis-progress-indicator{width:48px;height:48px}.audio-analysis-progress-indicator svg{width:24px;height:24px}}.audio-analysis-container .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width: 767px){.audio-analysis-container{width:100%;min-width:0;overflow:hidden}.audio-analysis-header{flex-direction:column;align-items:flex-start;gap:.5rem;padding-bottom:.375rem}.audio-analysis-header-title{font-size:1rem}.audio-analysis-header-subtitle{font-size:.6875rem}.audio-analysis-header-right{width:100%;justify-content:flex-start}.audio-analysis-selected-track{width:100%;min-width:0;overflow:hidden}.audio-analysis-selected-track-title{max-width:100px;font-size:.75rem}.audio-analysis-selected-track-artist{font-size:.625rem}.audio-analysis-empty-state{padding:2rem .75rem}.audio-analysis-empty-title{font-size:1.25rem}.audio-analysis-empty-subtitle{font-size:.75rem}.audio-analysis-primary-card,.beat-detection-results-card{border-radius:1rem}.audio-analysis-primary-layout{gap:1rem}.audio-analysis-song-display{gap:.75rem}.audio-analysis-song-artwork{width:4rem;height:4rem;border-radius:.75rem}.audio-analysis-song-artist-large{font-size:.75rem}.audio-analysis-eq-integration{padding:0 .75rem}.audio-analysis-eq-grid{gap:.375rem}.audio-analysis-eq-band-compact{width:2.75rem}.audio-analysis-eq-slider-vertical{height:80px}.audio-analysis-action-row{flex-direction:column;gap:.5rem}.audio-analysis-primary-action-button{height:2.75rem;font-size:.875rem;width:100%}.audio-analysis-import-btn{font-size:.75rem}.audio-analysis-controller-mode-buttons{gap:.375rem}.audio-analysis-controller-mode-button{padding:.5rem .75rem;min-width:5.5rem}.audio-analysis-controller-mode-button-text{font-size:.6875rem}.audio-analysis-controller-mode-button-desc{font-size:.5625rem}.audio-analysis-results{grid-template-columns:1fr;gap:.5rem;margin-top:.75rem}.audio-analysis-card{padding:.75rem}.audio-analysis-card-title,.audio-analysis-card--metadata .audio-analysis-card-title{font-size:.875rem;margin-bottom:.5rem}.audio-analysis-frequency-container{gap:1rem;min-height:7rem;padding:.75rem 0}.audio-analysis-bar{width:1.75rem}.audio-analysis-bar-label{font-size:.6875rem}.audio-analysis-bar-value{font-size:.75rem}.audio-analysis-amplitude-value{font-size:1.5rem;padding:.375rem 0}.audio-analysis-energy-grid{gap:.5rem}.audio-analysis-energy-item{padding:.5rem}.audio-analysis-energy-label{font-size:.6875rem}.audio-analysis-energy-value{font-size:1.25rem}.audio-analysis-color-properties{grid-template-columns:repeat(3,1fr);gap:.375rem;margin-top:.5rem}.audio-analysis-color-property{padding:.375rem}.audio-analysis-timeline{height:2.5rem;margin-bottom:1rem;margin-top:1.5rem}.audio-analysis-mode-card{padding:.75rem}.audio-analysis-mode-title{font-size:.875rem}.audio-analysis-mode-buttons{gap:.375rem}.audio-analysis-mode-btn{padding:.5rem .75rem;min-width:3.75rem}.audio-analysis-mode-icon{width:1rem;height:1rem}.audio-analysis-timeline-viz-layout{gap:1rem}.audio-analysis-radar-metrics{max-width:160px}.audio-analysis-radar-metric-value{font-size:.75rem}.audio-analysis-comparison-container{padding:.75rem}.audio-analysis-chart-editor-placeholder-content{padding:1.25rem}.audio-analysis-chart-editor-placeholder-title{font-size:.8125rem}.audio-analysis-chart-editor-placeholder-text{font-size:.6875rem;max-width:100%}.audio-analysis-chart-editor-placeholder-hint{font-size:.625rem;max-width:100%}.audio-analysis-step-placeholder{padding:1.5rem .75rem;gap:.75rem}.audio-analysis-step-placeholder-icon{font-size:2rem}.audio-analysis-step-placeholder-title{font-size:1rem}.audio-analysis-step-placeholder-text{font-size:.8125rem;max-width:100%}.audio-analysis-step-placeholder-hint{font-size:.75rem;max-width:100%}.audio-analysis-step-title{font-size:.9375rem;margin-bottom:.75rem;padding-bottom:.375rem}.audio-analysis-rhythm-generation-card{min-height:auto}.audio-analysis-rhythm-generation-section{gap:1rem}.audio-analysis-rhythm-generation-placeholder{padding:2rem 1.25rem}.audio-analysis-rhythm-generation-placeholder-title{font-size:1.125rem}.audio-analysis-rhythm-generation-placeholder-text{font-size:.8125rem;max-width:100%}.audio-analysis-rhythm-generation-progress,.audio-analysis-rhythm-generation-error,.audio-analysis-rhythm-generation-result{padding:2rem 1.25rem}.audio-analysis-progress-title,.audio-analysis-error-title,.audio-analysis-result-title{font-size:1.125rem}.audio-analysis-result-stats{gap:1rem}.audio-analysis-stat-value{font-size:1rem}.audio-analysis-result-note{font-size:.75rem;max-width:100%}.audio-analysis-error-text{font-size:.8125rem;max-width:100%}.audio-analysis-error-actions{gap:.5rem}.audio-analysis-error-message{font-size:.6875rem;padding:.375rem .5rem}.audio-analysis-storage-warning{font-size:.6875rem;padding:.5rem}.audio-analysis-short-track-warning{font-size:.625rem;padding:.375rem .5rem}.audio-analysis-metric-item,.audio-analysis-metadata-item{font-size:.75rem}.audio-analysis-timeline-toggle{gap:.375rem}.audio-analysis-timeline-toggle-btn{padding:.375rem .5rem}.audio-analysis-timeline-legend{font-size:.6875rem}.audio-analysis-color-swatches{gap:.75rem;margin-bottom:.75rem}.audio-analysis-color-box{width:2.5rem;height:2.5rem}}@media (max-width: 767px){.audio-analysis-artwork-overlay{background:hsl(var(--background) / .7)}.audio-analysis-sparkle-icon{width:1.5rem;height:1.5rem}.audio-analysis-song-meta{gap:.125rem}.audio-analysis-song-title-large{font-size:.875rem}.audio-analysis-song-status-badge{margin-top:.375rem}.audio-analysis-eq-header-row{margin-bottom:.5rem}.audio-analysis-eq-title-main{font-size:.875rem}.audio-analysis-eq-subtitle-main{font-size:.5625rem}.audio-analysis-eq-metadata{margin-top:.125rem}.audio-analysis-eq-name{font-size:.5625rem}.audio-analysis-eq-multiplier{font-size:.6875rem}.audio-analysis-action-integration{gap:.5rem}.audio-analysis-controller-mode-section{padding:.5rem 0;gap:.375rem}.audio-analysis-controller-mode-header{font-size:.6875rem}.audio-analysis-controller-mode-description,.audio-analysis-playback-warning{font-size:.625rem}.audio-analysis-frequency-divider{margin:.5rem 0}.audio-analysis-energy-description{font-size:.625rem}.audio-analysis-metrics-list{gap:.375rem}.audio-analysis-metric-label{font-size:.625rem}.audio-analysis-metric-value{font-size:.6875rem}.audio-analysis-color-swatch{padding:.375rem}.audio-analysis-color-name{font-size:.625rem}.audio-analysis-color-hex{font-size:.5625rem}.audio-analysis-all-colors-grid{gap:.375rem}.audio-analysis-color-dot{width:.875rem;height:.875rem}.audio-analysis-property-label{font-size:.5625rem}.audio-analysis-property-value,.audio-analysis-timeline-duration{font-size:.625rem}.audio-analysis-metadata-list{gap:.375rem}.audio-analysis-metadata-label{font-size:.625rem}.audio-analysis-metadata-value{font-size:.6875rem}.audio-analysis-mode-header{gap:.375rem;margin-bottom:.5rem}.audio-analysis-mode-subtitle{font-size:.625rem}.audio-analysis-mode-label{font-size:.6875rem}.audio-analysis-mode-desc{font-size:.5625rem}.audio-analysis-timeline-options{gap:.75rem}.audio-analysis-timeline-slider-container{gap:.5rem}.audio-analysis-timeline-slider-header{gap:.375rem}.audio-analysis-timeline-slider-label{font-size:.6875rem}.audio-analysis-timeline-slider-value{font-size:.625rem}.audio-analysis-timeline-slider-marks{gap:.375rem}.audio-analysis-timeline-slider-mark{font-size:.5625rem}.audio-analysis-radar-section,.audio-analysis-radar-metrics{gap:.75rem}.audio-analysis-radar-metric{gap:.25rem}.audio-analysis-radar-metric-label{font-size:.625rem}.audio-analysis-scrubber-section{gap:.75rem}.audio-analysis-comparison-toggle{gap:.5rem}.audio-analysis-comparison-btn{padding:.5rem .75rem;font-size:.6875rem}.audio-analysis-subdivision-section{margin-top:.5rem;padding-top:.5rem}.audio-analysis-subdivision-timeline-card{margin-top:.75rem;border-radius:1rem}.audio-analysis-chart-editor-section{margin-top:.5rem;padding-top:.5rem}.audio-analysis-chart-editor-card{padding:.75rem}.audio-analysis-progress-indicator{width:52px;height:52px}.audio-analysis-progress-indicator svg{width:26px;height:26px}.audio-analysis-progress-bar-container{height:6px}.audio-analysis-progress-phase{font-size:.75rem}.audio-analysis-progress-percent{font-size:.625rem}.audio-analysis-result-stat{gap:.125rem}.audio-analysis-stat-label{font-size:.625rem}.audio-analysis-error-icon,.audio-analysis-result-icon{font-size:2.5rem}}.beat-detection-step-nav.step-nav{border-radius:0;margin-left:-.75rem;margin-right:-.75rem;width:calc(100% + 1.5rem)}.beat-detection-step-nav .step-nav-tab{min-width:70px;padding:.5rem .625rem;font-size:.6875rem;gap:.375rem}.beat-detection-step-nav .step-nav-checkmark{width:.875rem;height:.875rem;font-size:.625rem}.beat-detection-step-nav .step-nav-tab{min-width:50px;padding:.5rem;font-size:0;gap:0}.beat-detection-step-nav .step-nav-label{display:none}.beat-detection-step-nav .step-nav-checkmark{width:1rem;height:1rem;font-size:.75rem}.beat-detection-step-nav .step-nav-tab{min-width:44px;padding:.5rem;font-size:0;gap:0}.beat-detection-step-nav .step-nav-tab:before{content:"";display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:1rem}.beat-detection-step-nav .step-nav-tab[data-step-number="1"]:before{content:"🔍"}.beat-detection-step-nav .step-nav-tab[data-step-number="2"]:before{content:"🎵"}.beat-detection-step-nav .step-nav-tab[data-step-number="3"]:before{content:"📊"}.beat-detection-step-nav .step-nav-tab[data-step-number="4"]:before{content:"✓"}.beat-detection-step-nav .step-nav-tab-active:before{background:hsl(var(--primary) / .15);border-radius:50%}.beat-detection-step-nav .step-nav-tab-completed:after{content:"✓";position:absolute;top:.125rem;right:.125rem;display:inline-flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;font-size:.5rem;color:hsl(var(--cute-green));background:hsl(var(--surface-1));border-radius:50%;border:1px solid hsl(var(--border))}.beat-detection-step-nav .step-nav-tab{position:relative}.beat-detection-step-nav .step-nav-label,.beat-detection-step-nav .step-nav-checkmark{display:none}@media (min-width: 768px){.beat-detection-step-nav .step-nav-tab{min-width:100px;padding:.75rem 1rem;font-size:.875rem;gap:.5rem}.beat-detection-step-nav .step-nav-tab:before{display:none}.beat-detection-step-nav .step-nav-label{display:inline-block}}.beat-detection-step-nav .step-nav-checkmark{display:inline-flex}.beat-detection-step-nav .step-nav-tab:after{display:none}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;margin-left:.375rem;vertical-align:middle}.tooltip-icon{color:hsl(var(--text-secondary));cursor:help;transition:color .15s ease}.tooltip-icon:hover{color:hsl(var(--text-primary))}.tooltip-text{background-color:hsl(var(--bg-elevated));border:1px solid hsl(var(--border));color:hsl(var(--text-primary));padding:.5rem .75rem;border-radius:.375rem;font-size:.8125rem;line-height:1.375;white-space:normal;max-width:18rem;min-width:12rem;box-shadow:0 4px 12px #00000040;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;z-index:99999;text-align:left}.tooltip-wrapper:hover .tooltip-text{opacity:1;visibility:visible}.tooltip-text:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:hsl(var(--bg-elevated))}.tooltip-text:before{content:"";position:absolute;bottom:-7px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:hsl(var(--border));z-index:-1}.tooltip-text--mobile:after{bottom:auto;top:-6px;border-top-color:transparent;border-bottom-color:#000}.tooltip-text--mobile:before{bottom:auto;top:-7px;border-top-color:transparent;border-bottom-color:#fff3}@media (max-width: 767px){.tooltip-text--mobile{max-width:calc(100vw - 2rem);min-width:10rem}}.collapsible-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease}.collapsible-section:hover{box-shadow:var(--shadow-sm)}.collapsible-section.collapsed{box-shadow:none}.collapsible-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease}.collapsible-section-header:hover{background:var(--color-surface-dim)}.collapsible-section-header:focus-visible{outline:none;background:var(--color-surface-dim);box-shadow:inset 0 0 0 2px var(--color-primary)}.collapsible-section-header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.collapsible-section-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-md);color:var(--color-on-primary);flex-shrink:0}.collapsible-section-title-group{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;min-width:0}.collapsible-section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);text-align:left}.collapsible-section-subtitle{font-size:.75rem;color:var(--color-text-secondary);text-align:left}.collapsible-section-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;min-width:1.5rem;flex-shrink:0}.collapsible-section-chevron{flex-shrink:0;color:var(--color-text-secondary);transition:transform .25s ease}.collapsible-section-chevron.rotated{transform:rotate(-90deg)}.collapsible-section-content{transition:max-height .3s ease-out}.collapsible-section-inner{padding:0 1.25rem 1.25rem}.collapsible-section.collapsed .collapsible-section-inner{padding-bottom:0}@media (max-width: 640px){.collapsible-section-header{padding:.875rem 1rem}.collapsible-section-inner{padding:0 1rem 1rem}.collapsible-section-icon{width:1.75rem;height:1.75rem}.collapsible-section-title{font-size:.9375rem}}@media (min-width: 769px) and (max-width: 1023px){.collapsible-section-header{padding:.9375rem 1.125rem;gap:.6875rem}.collapsible-section-header-left{gap:.6875rem}.collapsible-section-icon{width:1.875rem;height:1.875rem}.collapsible-section-title-group{gap:.0938rem}.collapsible-section-title{font-size:.9688rem}.collapsible-section-subtitle{font-size:.7188rem}.collapsible-section-badge{padding:.0938rem .4375rem;font-size:.7188rem;min-width:1.375rem}.collapsible-section-inner{padding:0 1.125rem 1.125rem}}@media (max-width: 400px){.collapsible-section{border-radius:var(--radius-md)}.collapsible-section-header{padding:.75rem .875rem;gap:.5rem}.collapsible-section-header-left{gap:.5rem}.collapsible-section-icon{width:1.5rem;height:1.5rem}.collapsible-section-title-group{gap:.0625rem}.collapsible-section-title{font-size:.875rem;line-height:1.2}.collapsible-section-subtitle{font-size:.6875rem;line-height:1.2}.collapsible-section-badge{padding:.0625rem .375rem;font-size:.6875rem;min-width:1.25rem}.collapsible-section-chevron{width:18px;height:18px}.collapsible-section-inner{padding:0 .875rem .875rem}}@media (min-width: 1024px){.collapsible-section-header{padding:1.125rem 1.375rem;gap:.875rem}.collapsible-section-header-left{gap:.875rem}.collapsible-section-icon{width:2.125rem;height:2.125rem}.collapsible-section-title-group{gap:.1563rem}.collapsible-section-title{font-size:1.0625rem}.collapsible-section-subtitle{font-size:.8125rem}.collapsible-section-badge{padding:.1563rem .5625rem;font-size:.8125rem;min-width:1.625rem}.collapsible-section-inner{padding:0 1.375rem 1.375rem}}.advanced-interpolation-options{margin-top:.5rem;border:1px solid hsl(var(--border) / .3);border-radius:.375rem;background:hsl(var(--muted) / .15);overflow:hidden}.advanced-interpolation-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;transition:background .15s ease}.advanced-interpolation-summary::-webkit-details-marker{display:none}.advanced-interpolation-summary:hover{background:hsl(var(--muted) / .3)}.advanced-interpolation-summary-text{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.advanced-interpolation-summary-icon{color:hsl(var(--muted-foreground));transition:transform .2s ease}.advanced-interpolation-options[open] .advanced-interpolation-summary-icon{transform:rotate(180deg)}.advanced-interpolation-content{padding:.5rem .625rem;padding-top:0;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDownAdvanced .2s ease-out}@keyframes slideDownAdvanced{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.advanced-interpolation-section{display:flex;flex-direction:column;gap:.375rem}.advanced-interpolation-preset-section{padding-bottom:.5rem;border-bottom:1px dashed hsl(var(--border) / .3);margin-bottom:.25rem}.advanced-interpolation-preset-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.advanced-interpolation-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;margin-top:.375rem}.advanced-interpolation-preset-btn{display:flex;align-items:center;justify-content:center;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .4);border-radius:.25rem;cursor:pointer;transition:all .15s ease;min-height:1.75rem}.advanced-interpolation-preset-btn:hover:not(:disabled){background:hsl(var(--muted) / .5);border-color:hsl(var(--primary) / .5)}.advanced-interpolation-preset-btn:active:not(:disabled){transform:scale(.98)}.advanced-interpolation-preset-btn:disabled{opacity:.5;cursor:not-allowed}.advanced-interpolation-preset-btn--active{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .6);box-shadow:0 0 8px hsl(var(--primary) / .2)}.advanced-interpolation-preset-btn--active:hover:not(:disabled){background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .8)}.advanced-interpolation-preset-name{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advanced-interpolation-preset-btn--active .advanced-interpolation-preset-name{color:hsl(var(--primary))}.advanced-interpolation-preset-description{font-size:.5rem;color:hsl(var(--muted-foreground));margin-top:.25rem;line-height:1.4;font-style:italic}.advanced-interpolation-reset-all-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:hsl(var(--cute-amber, 38 92% 50%) / .1);border:1px solid hsl(var(--cute-amber, 38 92% 50%) / .3);border-radius:.1875rem;cursor:pointer;transition:all .15s ease}.advanced-interpolation-reset-all-btn:hover:not(:disabled){background:hsl(var(--cute-amber, 38 92% 50%) / .2);border-color:hsl(var(--cute-amber, 38 92% 50%) / .5)}.advanced-interpolation-reset-all-btn:active:not(:disabled){transform:scale(.95)}.advanced-interpolation-reset-all-btn:disabled{opacity:.5;cursor:not-allowed}.advanced-interpolation-reset-all-btn-icon{width:.625rem;height:.625rem;color:hsl(var(--cute-amber, 38 92% 50%))}.advanced-interpolation-reset-all-btn span{font-size:.5rem;font-weight:600;color:hsl(var(--cute-amber, 38 92% 50%))}.advanced-interpolation-section--compact{gap:.25rem}.advanced-interpolation-header{display:flex;justify-content:space-between;align-items:center}.advanced-interpolation-label-with-tooltip{display:flex;align-items:center;gap:.375rem}.advanced-interpolation-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.advanced-interpolation-sublabel{font-size:.5rem;font-weight:500;color:hsl(var(--muted-foreground));opacity:.8}.advanced-interpolation-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.advanced-interpolation-value--small{font-size:.5625rem;padding:.0625rem .25rem}.advanced-interpolation-header-right{display:flex;align-items:center;gap:.375rem}.advanced-interpolation-value--modified{color:hsl(var(--cute-amber, 38 92% 50%));background:hsl(var(--cute-amber, 38 92% 50%) / .15);box-shadow:inset 0 0 0 1px hsl(var(--cute-amber, 38 92% 50%) / .3)}.advanced-interpolation-reset-btn{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;background:transparent;border:1px solid hsl(var(--border) / .5);border-radius:.1875rem;cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.advanced-interpolation-reset-btn:hover{background:hsl(var(--muted) / .5);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.advanced-interpolation-reset-btn:active{transform:scale(.9)}.advanced-interpolation-reset-btn:disabled{opacity:.5;cursor:not-allowed}.advanced-interpolation-reset-btn-icon{width:.625rem;height:.625rem}.advanced-interpolation-slider-container{position:relative}.advanced-interpolation-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important;border-radius:2px;cursor:pointer;transition:background .1s ease;position:relative}.advanced-interpolation-slider:before{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}.advanced-interpolation-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent!important}.advanced-interpolation-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;margin-top:-3px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:2}.advanced-interpolation-slider::-webkit-slider-thumb:hover{transform:scaleY(1.2);box-shadow:0 0 15px hsl(var(--primary) / .7)}.advanced-interpolation-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scaleY(1.1)}.advanced-interpolation-slider::-moz-range-thumb{width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;border:none;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.advanced-interpolation-slider::-moz-range-track{width:100%;height:4px;background:hsl(var(--border) / .5);border-radius:2px}.advanced-interpolation-slider::-moz-range-progress{background:hsl(var(--primary) / .5);border-radius:2px}.advanced-interpolation-slider--weight{background:linear-gradient(to right,hsl(187 92% 50% / .5) 0%,hsl(187 92% 50% / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.advanced-interpolation-slider--weight::-webkit-slider-thumb{background:#0ad9f5;box-shadow:0 0 10px #0ad9f580,inset 0 0 0 1px hsl(var(--background) / .4)}.advanced-interpolation-slider--weight::-webkit-slider-thumb:hover{box-shadow:0 0 15px #0ad9f5b3}.advanced-interpolation-slider--weight::-moz-range-thumb{background:#0ad9f5;box-shadow:0 0 10px #0ad9f580,inset 0 0 0 1px hsl(var(--background) / .4)}.advanced-interpolation-slider--weight::-moz-range-progress{background:#0ad9f580}.advanced-interpolation-slider:disabled{opacity:.5;cursor:not-allowed}.advanced-interpolation-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;box-shadow:none}.advanced-interpolation-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem;padding:0 .125rem}.advanced-interpolation-slider-mark{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--muted-foreground));opacity:.7}.advanced-interpolation-weights-section{margin-top:.5rem;padding:.5rem;background:hsl(var(--surface-2) / .3);border-radius:.25rem;border:1px dashed hsl(var(--border) / .3)}.advanced-interpolation-weights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.advanced-interpolation-weights-total{display:flex;align-items:center;gap:.25rem}.advanced-interpolation-weights-sum{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:#16a249;background:#16a2491a;padding:.125rem .375rem;border-radius:.25rem}.advanced-interpolation-weights-sum--warning{color:hsl(var(--cute-amber, 38 92% 50%));background:hsl(var(--cute-amber, 38 92% 50%) / .15)}.advanced-interpolation-weights-warning{font-size:.625rem;font-weight:700;color:hsl(var(--cute-amber, 38 92% 50%))}.advanced-interpolation-toggles-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.advanced-interpolation-checkbox-group{display:flex;flex-direction:column;gap:.375rem;margin-top:.375rem}.advanced-interpolation-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.advanced-interpolation-checkbox input[type=checkbox]{width:.875rem;height:.875rem;accent-color:hsl(var(--primary));cursor:pointer}.advanced-interpolation-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.advanced-interpolation-checkbox-label{font-size:.5625rem;color:hsl(var(--foreground))}.advanced-interpolation-checkbox-label--modified{color:hsl(var(--cute-amber, 38 92% 50%))}@media (min-width: 641px) and (max-width: 1024px){.advanced-interpolation-section{gap:.3125rem}.advanced-interpolation-label{font-size:.5rem}.advanced-interpolation-value{font-size:.625rem;padding:.0938rem .3125rem}.advanced-interpolation-slider::-webkit-slider-thumb{width:18px;height:11px}.advanced-interpolation-slider::-moz-range-thumb{width:18px;height:11px}.advanced-interpolation-slider-mark{font-size:.4688rem}.advanced-interpolation-reset-btn{width:1.125rem;height:1.125rem}.advanced-interpolation-reset-btn-icon{width:.6875rem;height:.6875rem}.advanced-interpolation-options{margin-top:.4375rem}.advanced-interpolation-summary{padding:.4375rem .5625rem;min-height:36px}.advanced-interpolation-summary-text{font-size:.5rem}.advanced-interpolation-content{padding:.4375rem .5625rem;padding-top:0}.advanced-interpolation-preset-grid{gap:.3125rem}.advanced-interpolation-preset-btn{padding:.3125rem .375rem;min-height:1.5rem}.advanced-interpolation-preset-name{font-size:.4688rem}.advanced-interpolation-preset-description{font-size:.4375rem}.advanced-interpolation-reset-all-btn{padding:.1875rem .375rem}.advanced-interpolation-reset-all-btn span{font-size:.4375rem}}@media (max-width: 640px){.advanced-interpolation-section{gap:.25rem}.advanced-interpolation-label{font-size:.5rem}.advanced-interpolation-value{font-size:.625rem;padding:.0625rem .25rem}.advanced-interpolation-slider::-webkit-slider-thumb{width:18px;height:12px}.advanced-interpolation-slider::-moz-range-thumb{width:18px;height:12px}.advanced-interpolation-slider-mark{font-size:.4375rem}.advanced-interpolation-options{margin-top:.375rem}.advanced-interpolation-summary{padding:.375rem .5rem}.advanced-interpolation-summary-text{font-size:.5rem}.advanced-interpolation-content{padding:.375rem .5rem;padding-top:0}.advanced-interpolation-preset-grid{grid-template-columns:repeat(2,1fr);gap:.25rem}.advanced-interpolation-preset-btn{padding:.25rem .3125rem;min-height:1.375rem}.advanced-interpolation-preset-name{font-size:.4375rem}.advanced-interpolation-preset-description{font-size:.375rem}.advanced-interpolation-reset-all-btn{padding:.125rem .25rem}.advanced-interpolation-reset-all-btn span{font-size:.375rem}}@media (hover: none) and (pointer: coarse){.advanced-interpolation-slider{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.advanced-interpolation-slider::-webkit-slider-thumb{width:28px;height:28px;border-radius:4px;margin-top:-12px}.advanced-interpolation-slider::-moz-range-thumb{width:28px;height:28px;border-radius:4px}.advanced-interpolation-reset-btn{width:1.25rem;height:1.25rem;min-width:28px;min-height:28px}.advanced-interpolation-reset-btn-icon{width:.875rem;height:.875rem}.advanced-interpolation-summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;padding:.625rem .75rem}.advanced-interpolation-summary:active{background:hsl(var(--muted) / .5)}.advanced-interpolation-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem}.advanced-interpolation-checkbox-label{font-size:.75rem}.advanced-interpolation-preset-btn{min-height:44px;padding:.5rem}.advanced-interpolation-preset-name{font-size:.625rem}.advanced-interpolation-reset-all-btn{min-height:32px;padding:.375rem .5rem}.advanced-interpolation-reset-all-btn span{font-size:.5625rem}}@media (prefers-reduced-motion: reduce){.advanced-interpolation-slider{transition:none}.advanced-interpolation-content{animation:none}.advanced-interpolation-summary-icon,.advanced-interpolation-reset-btn,.advanced-interpolation-preset-btn,.advanced-interpolation-reset-all-btn{transition:none}}.beat-interpolation-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.beat-interpolation-settings-section{display:flex;flex-direction:column;gap:.375rem}.beat-interpolation-settings-header{display:flex;justify-content:space-between;align-items:center}.beat-interpolation-settings-label-with-tooltip{display:flex;align-items:center;gap:.375rem}.beat-interpolation-settings-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-interpolation-settings-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.beat-interpolation-settings-header-right{display:flex;align-items:center;gap:.375rem}.beat-interpolation-settings-value--modified{color:hsl(var(--cute-amber, 38 92% 50%));background:hsl(var(--cute-amber, 38 92% 50%) / .15);box-shadow:inset 0 0 0 1px hsl(var(--cute-amber, 38 92% 50%) / .3)}.beat-interpolation-reset-btn{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;background:transparent;border:1px solid hsl(var(--border) / .5);border-radius:.1875rem;cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.beat-interpolation-reset-btn:hover{background:hsl(var(--muted) / .5);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.beat-interpolation-reset-btn:active{transform:scale(.9)}.beat-interpolation-reset-btn:disabled{opacity:.5;cursor:not-allowed}.beat-interpolation-reset-btn-icon{width:.625rem;height:.625rem}.beat-interpolation-algorithm-toggles{display:flex;gap:.375rem;margin-top:.375rem}.beat-interpolation-algorithm-toggle{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem .375rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:hsl(var(--muted-foreground))}.beat-interpolation-algorithm-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.beat-interpolation-algorithm-toggle:active:not(:disabled){transform:scale(.98)}.beat-interpolation-algorithm-toggle:disabled{opacity:.5;cursor:not-allowed}.beat-interpolation-algorithm-toggle--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.beat-interpolation-algorithm-toggle--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}.beat-interpolation-algorithm-toggle-label{display:flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.beat-interpolation-recommended-badge{color:hsl(var(--cute-amber, 38 92% 50%));fill:hsl(var(--cute-amber, 38 92% 50%))}.beat-interpolation-algorithm-description{font-size:.5rem;color:hsl(var(--muted-foreground));opacity:.8;font-style:italic;margin-top:.25rem;line-height:1.4}.beat-interpolation-slider-container{position:relative}.beat-interpolation-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important;border-radius:2px;cursor:pointer;transition:background .1s ease;position:relative}.beat-interpolation-slider:before{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}.beat-interpolation-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent!important}.beat-interpolation-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;margin-top:-3px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:2}.beat-interpolation-slider::-webkit-slider-thumb:hover{transform:scaleY(1.2);box-shadow:0 0 15px hsl(var(--primary) / .7)}.beat-interpolation-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scaleY(1.1)}.beat-interpolation-slider::-moz-range-thumb{width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;border:none;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-interpolation-slider::-moz-range-track{width:100%;height:4px;background:hsl(var(--border) / .5);border-radius:2px}.beat-interpolation-slider::-moz-range-progress{background:hsl(var(--primary) / .5);border-radius:2px}.beat-interpolation-slider:disabled{opacity:.5;cursor:not-allowed}.beat-interpolation-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;box-shadow:none}.beat-interpolation-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem;padding:0 .125rem}.beat-interpolation-slider-mark{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--muted-foreground));opacity:.7}.beat-interpolation-toggles-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.beat-interpolation-checkbox-group{display:flex;flex-direction:column;gap:.375rem;margin-top:.375rem}.beat-interpolation-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.beat-interpolation-checkbox input[type=checkbox]{width:.875rem;height:.875rem;accent-color:hsl(var(--primary));cursor:pointer}.beat-interpolation-checkbox input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.beat-interpolation-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.5625rem;color:hsl(var(--foreground));cursor:pointer}.beat-interpolation-checkbox-label input[type=checkbox]{width:.875rem;height:.875rem;accent-color:hsl(var(--primary));cursor:pointer}.beat-interpolation-checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.beat-interpolation-checkbox-text{font-weight:500}.beat-interpolation-checkbox-description{font-size:.5rem;color:hsl(var(--muted-foreground));opacity:.8;font-style:italic;margin-top:.125rem;margin-left:1.375rem}.beat-interpolation-checkbox-label--modified{color:hsl(var(--cute-amber, 38 92% 50%))}.beat-interpolation-advanced{margin-top:.5rem;border:1px solid hsl(var(--border) / .3);border-radius:.375rem;background:hsl(var(--muted) / .15);overflow:hidden}.beat-interpolation-advanced-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;transition:background .15s ease}.beat-interpolation-advanced-summary::-webkit-details-marker{display:none}.beat-interpolation-advanced-summary:hover{background:hsl(var(--muted) / .3)}.beat-interpolation-advanced-summary-text{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-interpolation-advanced-summary-icon{color:hsl(var(--muted-foreground));transition:transform .2s ease}.beat-interpolation-advanced[open] .beat-interpolation-advanced-summary-icon{transform:rotate(180deg)}.beat-interpolation-advanced-content{padding:.5rem .625rem;padding-top:0;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDown .2s ease-out}.beat-interpolation-settings-note{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;margin-top:.25rem}.beat-interpolation-settings-note-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:.0625rem}.beat-interpolation-settings-note-text{font-size:.625rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 641px) and (max-width: 1024px){.beat-interpolation-settings{gap:.625rem;margin-top:.625rem;padding-top:.625rem}.beat-interpolation-settings-section{gap:.3125rem}.beat-interpolation-settings-label{font-size:.5rem}.beat-interpolation-settings-value{font-size:.625rem;padding:.0938rem .3125rem}.beat-interpolation-slider::-webkit-slider-thumb{width:18px;height:11px}.beat-interpolation-slider::-moz-range-thumb{width:18px;height:11px}.beat-interpolation-slider-mark{font-size:.4688rem}.beat-interpolation-reset-btn{width:1.125rem;height:1.125rem}.beat-interpolation-reset-btn-icon{width:.6875rem;height:.6875rem}.beat-interpolation-algorithm-toggle{padding:.4375rem .3125rem}.beat-interpolation-algorithm-toggle-label{font-size:.5rem}.beat-interpolation-algorithm-description{font-size:.4688rem}.beat-interpolation-advanced{margin-top:.4375rem}.beat-interpolation-advanced-summary{padding:.4375rem .5625rem;min-height:36px}.beat-interpolation-advanced-summary-text{font-size:.5rem}.beat-interpolation-advanced-content{padding:.4375rem .5625rem;padding-top:0}.beat-interpolation-settings-note{padding:.4375rem .5625rem}.beat-interpolation-settings-note-icon{width:.75rem;height:.75rem}.beat-interpolation-settings-note-text{font-size:.5625rem}}@media (max-width: 640px){.beat-interpolation-settings{gap:.5rem;margin-top:.5rem;padding-top:.5rem}.beat-interpolation-settings-section{gap:.25rem}.beat-interpolation-settings-label{font-size:.5rem}.beat-interpolation-settings-value{font-size:.625rem;padding:.0625rem .25rem}.beat-interpolation-slider::-webkit-slider-thumb{width:18px;height:12px}.beat-interpolation-slider::-moz-range-thumb{width:18px;height:12px}.beat-interpolation-slider-mark{font-size:.4375rem}.beat-interpolation-algorithm-toggles{flex-wrap:wrap}.beat-interpolation-algorithm-toggle{padding:.375rem .25rem;min-width:calc(33.33% - .25rem)}.beat-interpolation-algorithm-toggle-label{font-size:.5rem}.beat-interpolation-algorithm-description{font-size:.4375rem}.beat-interpolation-advanced{margin-top:.375rem}.beat-interpolation-advanced-summary{padding:.375rem .5rem}.beat-interpolation-advanced-summary-text{font-size:.5rem}.beat-interpolation-advanced-content{padding:.375rem .5rem;padding-top:0}.beat-interpolation-settings-note{padding:.375rem .5rem}.beat-interpolation-settings-note-icon{width:.75rem;height:.75rem}.beat-interpolation-settings-note-text{font-size:.5625rem}}@media (hover: none) and (pointer: coarse){.beat-interpolation-slider{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.beat-interpolation-slider::-webkit-slider-thumb{width:28px;height:28px;border-radius:4px;margin-top:-12px}.beat-interpolation-slider::-moz-range-thumb{width:28px;height:28px;border-radius:4px}.beat-interpolation-reset-btn{width:1.25rem;height:1.25rem;min-width:28px;min-height:28px}.beat-interpolation-reset-btn-icon{width:.875rem;height:.875rem}.beat-interpolation-algorithm-toggle{min-height:44px;padding:.625rem .5rem}.beat-interpolation-algorithm-toggle:active{transform:scale(.98)}.beat-interpolation-advanced-summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;padding:.625rem .75rem}.beat-interpolation-advanced-summary:active{background:hsl(var(--muted) / .5)}.beat-interpolation-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem}.beat-interpolation-checkbox-label{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.beat-interpolation-slider{transition:none}.beat-interpolation-advanced-content{animation:none}.beat-interpolation-advanced-summary-icon,.beat-interpolation-algorithm-toggle,.beat-interpolation-reset-btn{transition:none}}.beat-timeline{display:flex;flex-direction:column;gap:.5rem}.beat-timeline-track{position:relative;height:5rem;border-radius:.75rem;overflow:hidden;cursor:default}.beat-timeline-track--draggable{cursor:grab}.beat-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.beat-timeline-track--dragging{cursor:grabbing}.beat-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.beat-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.75rem;border:1px solid hsl(var(--border) / .4)}.beat-timeline-past-region{position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(90deg,hsl(var(--background) / .3) 0%,transparent 100%)}.beat-timeline-future-region{position:absolute;top:0;right:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary) / .05) 100%)}.beat-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5;pointer-events:none}.beat-timeline-marker--selectable{pointer-events:auto;cursor:pointer}.beat-timeline-marker--selectable:hover .beat-timeline-marker-dot{transform:scale(1.3);filter:brightness(1.2)}.beat-timeline-marker--selectable:focus{outline:none}.beat-timeline-marker--selectable:focus .beat-timeline-marker-dot{box-shadow:0 0 0 3px hsl(var(--primary) / .5)}.beat-timeline-marker--selected .beat-timeline-marker-dot{box-shadow:0 0 0 3px hsl(var(--primary)),0 0 15px hsl(var(--primary) / .8);transform:scale(1.4)}.beat-timeline-marker--selected.beat-timeline-marker--downbeat .beat-timeline-marker-dot{box-shadow:0 0 0 4px hsl(var(--primary)),0 0 20px hsl(var(--primary) / .9);transform:scale(1.3)}.beat-timeline-marker-number{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.25rem;font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px hsl(var(--background) / .8)}.beat-timeline-marker--selected .beat-timeline-marker-number{color:hsl(var(--primary));font-weight:700}.beat-timeline-marker--downbeat .beat-timeline-marker-number{color:hsl(var(--primary) / .9)}.beat-timeline-marker-dot{width:.875rem;height:.875rem;background:hsl(var(--cute-yellow));border-radius:50%;box-shadow:0 0 8px hsl(var(--cute-yellow) / .6);transition:transform .1s ease,box-shadow .1s ease}.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:1.25rem;height:1.25rem;background:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .7)}.beat-timeline-marker--interpolated .beat-timeline-marker-dot{background:transparent;border:2px dashed hsl(var(--cute-yellow));box-shadow:none;width:.75rem;height:.75rem}.beat-timeline-marker--interpolated.beat-timeline-marker--downbeat .beat-timeline-marker-dot{border-color:hsl(var(--primary));border-width:2.5px;width:1.125rem;height:1.125rem}.beat-timeline-marker--interpolated.beat-timeline-marker--past .beat-timeline-marker-dot{opacity:.5}.beat-timeline-marker--interpolated.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:interpolated-beat-glow .5s ease-in-out infinite alternate}@keyframes interpolated-beat-glow{0%{box-shadow:0 0 4px hsl(var(--cute-yellow) / .3)}to{box-shadow:0 0 8px hsl(var(--cute-yellow) / .5)}}.beat-timeline-marker--interpolated.beat-timeline-marker--upcoming.beat-timeline-marker--downbeat .beat-timeline-marker-dot{animation-name:interpolated-downbeat-glow}@keyframes interpolated-downbeat-glow{0%{box-shadow:0 0 6px hsl(var(--primary) / .4)}to{box-shadow:0 0 12px hsl(var(--primary) / .6)}}.beat-timeline-marker-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid hsl(var(--primary) / .4);border-radius:50%;animation:ring-pulse 2s ease-in-out infinite}.beat-timeline-marker-key{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.25rem;pointer-events:none;z-index:5}.beat-timeline-marker--has-key .beat-timeline-marker-dot{box-shadow:0 0 0 2px hsl(var(--background)),0 0 12px hsl(var(--primary) / .6),0 0 20px hsl(var(--primary) / .3);transform:scale(1.1)}.beat-timeline-marker--has-key.beat-timeline-marker--downbeat .beat-timeline-marker-dot{box-shadow:0 0 0 3px hsl(var(--background)),0 0 16px hsl(var(--primary) / .7),0 0 28px hsl(var(--primary) / .4);transform:scale(1.15)}.beat-timeline-marker--has-key.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:key-beat-pulse .6s ease-in-out infinite alternate}@keyframes key-beat-pulse{0%{box-shadow:0 0 0 2px hsl(var(--background)),0 0 12px hsl(var(--primary) / .6),0 0 20px hsl(var(--primary) / .3)}to{box-shadow:0 0 0 2px hsl(var(--background)),0 0 18px hsl(var(--primary) / .8),0 0 30px hsl(var(--primary) / .5)}}.beat-timeline-marker--has-key.beat-timeline-marker--past .beat-timeline-marker-dot{opacity:.7;box-shadow:0 0 0 1px hsl(var(--background)),0 0 8px hsl(var(--primary) / .4);transform:scale(1.05)}.beat-timeline-marker--has-key.beat-timeline-marker--subdivided .beat-timeline-marker-dot{outline:2px solid hsl(var(--primary) / .6);outline-offset:2px}@keyframes ring-pulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.1);opacity:.2}}.beat-timeline-marker--past .beat-timeline-marker-dot{opacity:.7;filter:none}.beat-timeline-marker--upcoming .beat-timeline-marker-dot{opacity:1;animation:beat-glow .5s ease-in-out infinite alternate}@keyframes beat-glow{0%{box-shadow:0 0 8px hsl(var(--cute-yellow) / .6)}to{box-shadow:0 0 14px hsl(var(--cute-yellow) / .9)}}.beat-timeline-marker--upcoming.beat-timeline-marker--downbeat .beat-timeline-marker-dot{animation-name:beat-glow-downbeat}@keyframes beat-glow-downbeat{0%{box-shadow:0 0 12px hsl(var(--primary) / .7)}to{box-shadow:0 0 20px hsl(var(--primary) / 1)}}.beat-timeline-now-line{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);z-index:10;pointer-events:none}.beat-timeline-now-line-inner{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:3px;background:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .8)}.beat-timeline-now-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;background:hsl(var(--primary) / .3);animation:now-pulse .6s ease-out;pointer-events:none}@keyframes now-pulse{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(3);opacity:0}}.beat-timeline-now-label{position:absolute;top:.375rem;left:50%;transform:translate(-50%);font-size:.5625rem;font-weight:800;letter-spacing:.15em;color:hsl(var(--primary));background:hsl(var(--background) / .9);padding:.125rem .375rem;border-radius:.25rem;border:1px solid hsl(var(--primary) / .3)}.beat-timeline-impact-zone{position:absolute;top:10%;bottom:10%;left:calc(50% - 1rem);width:2rem;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary) / .1) 30%,hsl(var(--primary) / .15) 50%,hsl(var(--primary) / .1) 70%,transparent 100%);border-radius:.5rem;pointer-events:none}.beat-timeline-tap-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;pointer-events:none}.beat-timeline-tap-ring{width:3.5rem;height:3.5rem;border-radius:50%;border:5px solid currentColor;animation:tap-ring-expand .6s ease-out forwards;box-shadow:0 0 25px currentColor,0 0 50px currentColor}@keyframes tap-ring-expand{0%{transform:scale(.7);opacity:1}to{transform:scale(2.5);opacity:0}}.beat-timeline-tap-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2rem;height:2rem;border-radius:50%;background:currentColor;animation:tap-core-flash .5s ease-out forwards;box-shadow:0 0 20px currentColor,0 0 40px currentColor}@keyframes tap-core-flash{0%{transform:translate(-50%,-50%) scale(1);opacity:1}25%{transform:translate(-50%,-50%) scale(2);opacity:1}to{transform:translate(-50%,-50%) scale(.2);opacity:0}}.beat-timeline-tap-indicator--perfect{color:#1cce5e}.beat-timeline-tap-indicator--great{color:#facc14}.beat-timeline-tap-indicator--good{color:#f59f0a}.beat-timeline-tap-indicator--miss{color:#ef4343}.beat-timeline-tap-indicator--ok{color:#0da2e7}.beat-timeline-legend{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.5rem .75rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.beat-timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--muted-foreground) / .15);pointer-events:none;z-index:1}.beat-timeline-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.beat-timeline-grid-line.near-now{background:hsl(var(--primary) / .2)}.beat-timeline-measure-boundary{position:absolute;top:0;bottom:0;width:2px;pointer-events:none;z-index:3}.beat-timeline-measure-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:hsl(var(--primary) / .4);box-shadow:0 0 8px hsl(var(--primary) / .3)}.beat-timeline-measure-number{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.25rem;font-size:.5625rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary) / .9);white-space:nowrap;pointer-events:none;background:hsl(var(--background) / .85);padding:.125rem .25rem;border-radius:.25rem;border:1px solid hsl(var(--primary) / .2);text-shadow:0 1px 2px hsl(var(--background) / .8)}.beat-timeline-legend-grid{width:1rem;height:1rem;display:flex;flex-direction:column;justify-content:space-between;flex-shrink:0}.beat-timeline-legend-grid:before,.beat-timeline-legend-grid:after{content:"";display:block;height:1px;background:hsl(var(--muted-foreground) / .4)}.beat-timeline-legend-grid:after{height:2px;background:hsl(var(--muted-foreground) / .6)}.beat-timeline-tempo-curve{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.7}.beat-timeline-tempo-curve-area{opacity:.3}.beat-timeline-tempo-curve-line{stroke-linecap:round;stroke-linejoin:round}.beat-timeline-drift-section{position:absolute;top:0;bottom:0;pointer-events:none;z-index:1;opacity:.15}.beat-timeline-drift-section--speedup{background:linear-gradient(180deg,hsl(180,70%,50%) 0%,hsl(180,70%,40%) 50%,transparent 100%)}.beat-timeline-drift-section--slowdown{background:linear-gradient(180deg,hsl(30,80%,50%) 0%,hsl(30,80%,40%) 50%,transparent 100%)}.beat-timeline-legend-tempo{width:1.25rem;height:.75rem;flex-shrink:0;background:linear-gradient(90deg,hsl(var(--primary) / .3),hsl(var(--primary) / .6),hsl(var(--primary) / .9));border-radius:.125rem;position:relative}.beat-timeline-legend-tempo:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:hsl(var(--primary))}.beat-timeline-legend-item{display:flex;align-items:center;gap:.5rem}.beat-timeline-legend-marker{width:.75rem;height:.75rem;border-radius:50%;flex-shrink:0}.beat-timeline-legend-marker--detected{background:hsl(var(--cute-yellow));box-shadow:0 0 6px hsl(var(--cute-yellow) / .6)}.beat-timeline-legend-marker--interpolated{background:transparent;border:2px dashed hsl(var(--cute-yellow));box-shadow:none}.beat-timeline-legend-opacity{display:flex;align-items:center;gap:.25rem}.beat-timeline-legend-opacity-bar{width:2rem;height:.5rem;border-radius:.25rem;background:linear-gradient(90deg,hsl(var(--cute-yellow) / .3),hsl(var(--cute-yellow) / .6),hsl(var(--cute-yellow) / 1))}.beat-timeline-legend-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap}.beat-timeline-info{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.beat-timeline-info-item{display:flex;align-items:center;gap:.375rem}.beat-timeline-info-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-timeline-info-value{font-size:.75rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.beat-timeline-info-source{margin-left:.25rem;opacity:.7}@media (max-width: 640px){.beat-timeline-track{height:4rem}.beat-timeline-marker-dot{width:.75rem;height:.75rem}.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:1rem;height:1rem}.beat-timeline-marker--interpolated .beat-timeline-marker-dot{width:.625rem;height:.625rem;border-width:1.5px}.beat-timeline-marker--interpolated.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:.875rem;height:.875rem;border-width:2px}.beat-timeline-marker-ring{top:-3px;right:-3px;bottom:-3px;left:-3px}.beat-timeline-now-label{font-size:.5rem;padding:.0625rem .25rem}.beat-timeline-now-pulse{width:2rem;height:2rem}.beat-timeline-impact-zone{width:1.5rem;left:calc(50% - .75rem)}.beat-timeline-info{gap:.5rem;flex-wrap:wrap;padding:.375rem}.beat-timeline-info-item{gap:.25rem}.beat-timeline-info-label{font-size:.5625rem}.beat-timeline-info-value{font-size:.6875rem}.beat-timeline-legend{gap:.75rem;padding:.375rem .5rem}.beat-timeline-legend-item{gap:.375rem}.beat-timeline-legend-marker{width:.625rem;height:.625rem}.beat-timeline-legend-marker--interpolated{border-width:1.5px}.beat-timeline-legend-opacity-bar{width:1.5rem;height:.375rem}.beat-timeline-legend-label{font-size:.5625rem}.beat-timeline-grid-line{width:1px}.beat-timeline-grid-line--measure{width:1.5px}.beat-timeline-legend-grid{width:.875rem;height:.875rem}.beat-timeline-measure-boundary{width:1.5px}.beat-timeline-measure-line{width:1.5px;box-shadow:0 0 6px hsl(var(--primary) / .25)}.beat-timeline-measure-number{font-size:.5rem;margin-bottom:.1875rem;padding:.0625rem .1875rem}.beat-timeline-tempo-curve{opacity:.5}.beat-timeline-drift-section{opacity:.1}.beat-timeline-legend-tempo{width:1rem;height:.625rem}.beat-timeline-marker-number{font-size:.5rem;margin-top:.1875rem}.beat-timeline-marker--has-key .beat-timeline-marker-dot{box-shadow:0 0 0 1px hsl(var(--background)),0 0 8px hsl(var(--primary) / .5),0 0 14px hsl(var(--primary) / .25);transform:scale(1.05)}.beat-timeline-marker--has-key.beat-timeline-marker--downbeat .beat-timeline-marker-dot{box-shadow:0 0 0 2px hsl(var(--background)),0 0 12px hsl(var(--primary) / .6),0 0 20px hsl(var(--primary) / .3);transform:scale(1.1)}}@media (max-width: 400px){.beat-timeline-track{height:3.5rem;border-radius:.5rem}.beat-timeline-marker-dot{width:.625rem;height:.625rem}.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:.875rem;height:.875rem}.beat-timeline-marker--interpolated .beat-timeline-marker-dot{width:.5rem;height:.5rem;border-width:1px}.beat-timeline-marker--interpolated.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:.75rem;height:.75rem;border-width:1.5px}.beat-timeline-marker-ring{top:-2px;right:-2px;bottom:-2px;left:-2px;border-width:1px}.beat-timeline-now-line-inner{width:2px}.beat-timeline-now-label{font-size:.4375rem;padding:.0625rem .1875rem;top:.25rem}.beat-timeline-now-pulse{width:1.5rem;height:1.5rem}.beat-timeline-impact-zone{width:1.25rem;left:calc(50% - .625rem)}.beat-timeline-info{gap:.375rem;padding:.25rem}.beat-timeline-info-item{gap:.125rem}.beat-timeline-info-label{font-size:.5rem}.beat-timeline-info-value{font-size:.625rem}.beat-timeline-legend{gap:.5rem;padding:.25rem .375rem;flex-wrap:wrap}.beat-timeline-legend-item{gap:.25rem}.beat-timeline-legend-marker{width:.5rem;height:.5rem}.beat-timeline-legend-marker--interpolated{border-width:1px}.beat-timeline-legend-opacity-bar{width:1.25rem;height:.3125rem}.beat-timeline-legend-label{font-size:.5rem}.beat-timeline-tempo-curve{opacity:.4}.beat-timeline-drift-section{opacity:.08}.beat-timeline-legend-tempo{width:.875rem;height:.5rem}.beat-timeline-measure-boundary{width:1px}.beat-timeline-measure-line{width:1px;box-shadow:0 0 4px hsl(var(--primary) / .2)}.beat-timeline-measure-number{font-size:.4375rem;margin-bottom:.125rem;padding:.0625rem .125rem}.beat-timeline-marker-number{font-size:.5rem;margin-top:.1875rem}.beat-timeline-marker--has-key .beat-timeline-marker-dot{box-shadow:0 0 0 1px hsl(var(--background)),0 0 6px hsl(var(--primary) / .5),0 0 10px hsl(var(--primary) / .2);transform:scale(1.02)}.beat-timeline-marker--has-key.beat-timeline-marker--downbeat .beat-timeline-marker-dot{box-shadow:0 0 0 1px hsl(var(--background)),0 0 10px hsl(var(--primary) / .5),0 0 16px hsl(var(--primary) / .25);transform:scale(1.08)}}.beat-timeline-marker--subdivided .beat-timeline-marker-dot{transition:transform .1s ease,box-shadow .1s ease,background-color .1s ease}.beat-timeline-marker--subdivision-quarter .beat-timeline-marker-dot{background:hsl(var(--subdivision-quarter));box-shadow:0 0 8px hsl(var(--subdivision-quarter) / .6)}.beat-timeline-marker--subdivision-quarter.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-quarter) / .9);box-shadow:0 0 12px hsl(var(--subdivision-quarter) / .7)}.beat-timeline-marker--subdivision-half .beat-timeline-marker-dot{background:hsl(var(--subdivision-half));box-shadow:0 0 8px hsl(var(--subdivision-half) / .6)}.beat-timeline-marker--subdivision-half.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-half) / .87);box-shadow:0 0 12px hsl(var(--subdivision-half) / .7)}.beat-timeline-marker--subdivision-eighth .beat-timeline-marker-dot{background:hsl(var(--subdivision-eighth));box-shadow:0 0 8px hsl(var(--subdivision-eighth) / .6)}.beat-timeline-marker--subdivision-eighth.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-eighth) / .9);box-shadow:0 0 12px hsl(var(--subdivision-eighth) / .7)}.beat-timeline-marker--subdivision-sixteenth .beat-timeline-marker-dot{background:hsl(var(--subdivision-sixteenth));box-shadow:0 0 8px hsl(var(--subdivision-sixteenth) / .6);width:.625rem;height:.625rem}.beat-timeline-marker--subdivision-sixteenth.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-sixteenth) / .92);box-shadow:0 0 12px hsl(var(--subdivision-sixteenth) / .7);width:.875rem;height:.875rem}.beat-timeline-marker--subdivision-triplet8 .beat-timeline-marker-dot{background:hsl(var(--subdivision-triplet8));box-shadow:0 0 8px hsl(var(--subdivision-triplet8) / .6)}.beat-timeline-marker--subdivision-triplet8.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-triplet8) / .91);box-shadow:0 0 12px hsl(var(--subdivision-triplet8) / .7)}.beat-timeline-marker--subdivision-triplet4 .beat-timeline-marker-dot{background:hsl(var(--subdivision-triplet4));box-shadow:0 0 8px hsl(var(--subdivision-triplet4) / .6)}.beat-timeline-marker--subdivision-triplet4.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-triplet4) / .91);box-shadow:0 0 12px hsl(var(--subdivision-triplet4) / .7)}.beat-timeline-marker--subdivision-dotted4 .beat-timeline-marker-dot{background:hsl(var(--subdivision-dotted4));box-shadow:0 0 8px hsl(var(--subdivision-dotted4) / .6)}.beat-timeline-marker--subdivision-dotted4.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-dotted4) / .89);box-shadow:0 0 12px hsl(var(--subdivision-dotted4) / .7)}.beat-timeline-marker--subdivision-dotted8 .beat-timeline-marker-dot{background:hsl(var(--subdivision-dotted8));box-shadow:0 0 8px hsl(var(--subdivision-dotted8) / .6)}.beat-timeline-marker--subdivision-dotted8.beat-timeline-marker--downbeat .beat-timeline-marker-dot{background:hsl(var(--subdivision-dotted8) / .91);box-shadow:0 0 12px hsl(var(--subdivision-dotted8) / .7)}.beat-timeline-marker--subdivided.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:subdivided-beat-glow .5s ease-in-out infinite alternate}@keyframes subdivided-beat-glow{0%{filter:brightness(1)}to{filter:brightness(1.3)}}.beat-timeline-marker--subdivided.beat-timeline-marker--past .beat-timeline-marker-dot{opacity:.7}.beat-timeline-subdivision-boundary{position:absolute;top:0;bottom:0;width:3px;pointer-events:none;z-index:8}.beat-timeline-subdivision-line{position:absolute;top:0;bottom:0;left:0;width:3px;background:repeating-linear-gradient(180deg,hsl(var(--primary) / .8) 0px,hsl(var(--primary) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--primary) / .4)}.beat-timeline-subdivision-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.25rem;font-size:.5625rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary) / .9);white-space:nowrap;pointer-events:none;background:hsl(var(--background) / .9);padding:.125rem .375rem;border-radius:.25rem;border:1px dashed hsl(var(--primary) / .4);text-shadow:0 1px 2px hsl(var(--background) / .8)}.beat-timeline-subdivision-boundary--quarter .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-quarter) / .8) 0px,hsl(var(--subdivision-quarter) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-quarter) / .4)}.beat-timeline-subdivision-boundary--half .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-half) / .8) 0px,hsl(var(--subdivision-half) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-half) / .4)}.beat-timeline-subdivision-boundary--eighth .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-eighth) / .8) 0px,hsl(var(--subdivision-eighth) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-eighth) / .4)}.beat-timeline-subdivision-boundary--sixteenth .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-sixteenth) / .8) 0px,hsl(var(--subdivision-sixteenth) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-sixteenth) / .4)}.beat-timeline-subdivision-boundary--triplet8 .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-triplet8) / .8) 0px,hsl(var(--subdivision-triplet8) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-triplet8) / .4)}.beat-timeline-subdivision-boundary--triplet4 .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-triplet4) / .8) 0px,hsl(var(--subdivision-triplet4) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-triplet4) / .4)}.beat-timeline-subdivision-boundary--dotted4 .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-dotted4) / .8) 0px,hsl(var(--subdivision-dotted4) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-dotted4) / .4)}.beat-timeline-subdivision-boundary--dotted8 .beat-timeline-subdivision-line{background:repeating-linear-gradient(180deg,hsl(var(--subdivision-dotted8) / .8) 0px,hsl(var(--subdivision-dotted8) / .8) 4px,transparent 4px,transparent 8px);box-shadow:0 0 8px hsl(var(--subdivision-dotted8) / .4)}.beat-timeline-legend-marker--subdivision-quarter{background:hsl(var(--subdivision-quarter));box-shadow:0 0 6px hsl(var(--subdivision-quarter) / .6)}.beat-timeline-legend-marker--subdivision-half{background:hsl(var(--subdivision-half));box-shadow:0 0 6px hsl(var(--subdivision-half) / .6)}.beat-timeline-legend-marker--subdivision-eighth{background:hsl(var(--subdivision-eighth));box-shadow:0 0 6px hsl(var(--subdivision-eighth) / .6)}.beat-timeline-legend-marker--subdivision-sixteenth{background:hsl(var(--subdivision-sixteenth));box-shadow:0 0 6px hsl(var(--subdivision-sixteenth) / .6)}.beat-timeline-legend-marker--subdivision-triplet8{background:hsl(var(--subdivision-triplet8));box-shadow:0 0 6px hsl(var(--subdivision-triplet8) / .6)}.beat-timeline-legend-marker--subdivision-triplet4{background:hsl(var(--subdivision-triplet4));box-shadow:0 0 6px hsl(var(--subdivision-triplet4) / .6)}.beat-timeline-legend-marker--subdivision-dotted4{background:hsl(var(--subdivision-dotted4));box-shadow:0 0 6px hsl(var(--subdivision-dotted4) / .6)}.beat-timeline-legend-marker--subdivision-dotted8{background:hsl(var(--subdivision-dotted8));box-shadow:0 0 6px hsl(var(--subdivision-dotted8) / .6)}.beat-timeline-legend-subdivision-boundary{width:.5rem;height:1rem;flex-shrink:0;background:repeating-linear-gradient(180deg,hsl(var(--primary) / .8) 0px,hsl(var(--primary) / .8) 2px,transparent 2px,transparent 4px);border-radius:.125rem}@media (max-width: 640px){.beat-timeline-marker--subdivision-sixteenth .beat-timeline-marker-dot{width:.5rem;height:.5rem}.beat-timeline-marker--subdivision-sixteenth.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:.75rem;height:.75rem}.beat-timeline-subdivision-boundary,.beat-timeline-subdivision-line{width:2px}.beat-timeline-subdivision-label{font-size:.5rem;padding:.0625rem .25rem}}@media (max-width: 400px){.beat-timeline-marker--subdivision-sixteenth .beat-timeline-marker-dot{width:.375rem;height:.375rem}.beat-timeline-marker--subdivision-sixteenth.beat-timeline-marker--downbeat .beat-timeline-marker-dot{width:.625rem;height:.625rem}.beat-timeline-subdivision-boundary,.beat-timeline-subdivision-line{width:2px}.beat-timeline-subdivision-label{font-size:.4375rem;padding:.0625rem .1875rem}}@media (prefers-reduced-motion: reduce){.beat-timeline-marker--has-key.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:none}.beat-timeline-marker--has-key .beat-timeline-marker-dot{transition:none}}@media (hover: none) and (pointer: coarse){.beat-timeline-marker--upcoming .beat-timeline-marker-dot,.beat-timeline-marker--interpolated.beat-timeline-marker--upcoming .beat-timeline-marker-dot,.beat-timeline-marker--subdivided.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:none!important}.beat-timeline-marker-ring{animation:none!important;opacity:.3}.beat-timeline-marker--has-key.beat-timeline-marker--upcoming .beat-timeline-marker-dot{animation:none!important}.beat-timeline-track{contain:layout style paint}.beat-timeline-track--draggable{touch-action:none;-webkit-tap-highlight-color:transparent}.beat-timeline-tap-indicator,.beat-timeline-now-pulse{will-change:transform,opacity}.beat-timeline-tap-ring{box-shadow:0 0 15px currentColor}.beat-timeline-tap-core{box-shadow:0 0 10px currentColor}}.key-indicator{display:inline-flex;align-items:center;justify-content:center;position:relative;font-weight:700;font-family:ui-monospace,monospace;border-radius:.25rem;background:hsl(var(--surface-2));border:2px solid currentColor;transition:transform .1s ease,box-shadow .1s ease,opacity .2s ease}.key-indicator--sm{width:1.25rem;height:1.25rem;font-size:.625rem}.key-indicator--md{width:1.5rem;height:1.5rem;font-size:.75rem}.key-indicator--lg{width:2rem;height:2rem;font-size:.875rem}.key-indicator-symbol{position:relative;z-index:1;line-height:1}.key-indicator--blue{color:#308ce8;border-color:#308ce8;box-shadow:0 0 6px hsl(210,80%,55% / .5)}.key-indicator--blue.key-indicator--upcoming{box-shadow:0 0 10px hsl(210,80%,55% / .7)}.key-indicator--green{color:#1fad4e;border-color:#1fad4e;box-shadow:0 0 6px hsl(140,70%,40% / .5)}.key-indicator--green.key-indicator--upcoming{box-shadow:0 0 10px hsl(140,70%,40% / .7)}.key-indicator--red{color:#e61919;border-color:#e61919;box-shadow:0 0 6px hsl(0,80%,50% / .5)}.key-indicator--red.key-indicator--upcoming{box-shadow:0 0 10px hsl(0,80%,50% / .7)}.key-indicator--purple{color:#a542d7;border-color:#a542d7;box-shadow:0 0 6px hsl(280,65%,55% / .5)}.key-indicator--purple.key-indicator--upcoming{box-shadow:0 0 10px hsl(280,65%,55% / .7)}.key-indicator--yellow{color:#f2b90d;border-color:#f2b90d;box-shadow:0 0 6px hsl(45,90%,50% / .5)}.key-indicator--yellow.key-indicator--upcoming{box-shadow:0 0 10px hsl(45,90%,50% / .7)}.key-indicator--orange{color:#f26c0d;border-color:#f26c0d;box-shadow:0 0 6px hsl(25,90%,50% / .5)}.key-indicator--orange.key-indicator--upcoming{box-shadow:0 0 10px hsl(25,90%,50% / .7)}.key-indicator--upcoming{animation:key-indicator-glow .8s ease-in-out infinite alternate}@keyframes key-indicator-glow{0%{filter:brightness(1)}to{filter:brightness(1.2)}}.key-indicator--past{opacity:.6}.key-indicator--pressed{animation:key-indicator-press .3s ease-out forwards}@keyframes key-indicator-press{0%{transform:scale(1)}50%{transform:scale(1.3);filter:brightness(1.5)}to{transform:scale(1);opacity:.8}}.key-indicator--wrong{animation:key-indicator-wrong .4s ease-out;color:#ef4343;border-color:#ef4343;box-shadow:0 0 10px hsl(0,84%,60% / .8)}@keyframes key-indicator-wrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.key-indicator-feedback{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;pointer-events:none}.key-indicator-feedback-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:2px solid hsl(142,76%,46%);animation:feedback-ring-expand .5s ease-out forwards}@keyframes feedback-ring-expand{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}.key-indicator-wrong-feedback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(0,84%,60% / .9);border-radius:inherit;animation:wrong-feedback-flash .4s ease-out forwards}.key-indicator-wrong-text{font-size:.625rem;font-weight:800;color:#fff;text-shadow:0 1px 2px hsl(0,0%,0% / .5)}@keyframes wrong-feedback-flash{0%{opacity:1}70%{opacity:1}to{opacity:0}}.key-indicator-mini{display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;padding:.125rem .25rem;border-radius:.1875rem;background:hsl(var(--background) / .85);border:1px solid currentColor;transition:opacity .15s ease,transform .1s ease;text-shadow:0 1px 2px hsl(var(--background) / .8)}.key-indicator-mini--blue{color:#308ce8;box-shadow:0 0 4px hsl(210,80%,55% / .4)}.key-indicator-mini--green{color:#1fad4e;box-shadow:0 0 4px hsl(140,70%,40% / .4)}.key-indicator-mini--red{color:#e61919;box-shadow:0 0 4px hsl(0,80%,50% / .4)}.key-indicator-mini--purple{color:#a542d7;box-shadow:0 0 4px hsl(280,65%,55% / .4)}.key-indicator-mini--yellow{color:#f2b90d;box-shadow:0 0 4px hsl(45,90%,50% / .4)}.key-indicator-mini--orange{color:#f26c0d;box-shadow:0 0 4px hsl(25,90%,50% / .4)}.key-indicator-mini--upcoming{animation:mini-glow .6s ease-in-out infinite alternate}@keyframes mini-glow{0%{filter:brightness(1)}to{filter:brightness(1.15)}}.key-indicator-mini--past{opacity:.5}.key-indicator-mini--active{transform:scale(1.1);background:hsl(var(--surface-2))}.key-sequence-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:hsl(var(--surface-2) / .8);border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.key-sequence-more{font-size:.5625rem;font-weight:600;color:hsl(var(--muted-foreground));margin-left:.125rem}@media (max-width: 640px){.key-indicator--sm{width:1rem;height:1rem;font-size:.5rem}.key-indicator--md{width:1.25rem;height:1.25rem;font-size:.625rem}.key-indicator--lg{width:1.5rem;height:1.5rem;font-size:.75rem}.key-indicator-mini{font-size:.5625rem;padding:.0625rem .1875rem}.key-sequence-indicator{gap:.1875rem;padding:.1875rem .375rem}}@media (max-width: 400px){.key-indicator--sm{width:.875rem;height:.875rem;font-size:.4375rem}.key-indicator--md{width:1rem;height:1rem;font-size:.5rem}.key-indicator--lg{width:1.25rem;height:1.25rem;font-size:.625rem}.key-indicator-mini{font-size:.5rem;padding:.0625rem .125rem}}.downbeat-config-panel{margin-top:.75rem;border:1px solid hsl(var(--border) / .3);border-radius:.5rem;background:hsl(var(--surface-2) / .5);overflow:hidden}.downbeat-config-panel--disabled{opacity:.6;pointer-events:none}.downbeat-config-panel-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.625rem .75rem;background:hsl(var(--surface-2) / .3);border:none;cursor:pointer;transition:background .15s ease}.downbeat-config-panel-header:hover:not(:disabled){background:hsl(var(--surface-2) / .6)}.downbeat-config-panel-header:disabled{cursor:not-allowed}.downbeat-config-panel-header-left{display:flex;align-items:center;gap:.5rem}.downbeat-config-panel-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground))}.downbeat-config-panel-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--foreground))}.downbeat-config-panel-badge{font-size:.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--cute-amber, 38 92% 50%));background:hsl(var(--cute-amber, 38 92% 50%) / .15);padding:.125rem .375rem;border-radius:.1875rem;border:1px solid hsl(var(--cute-amber, 38 92% 50%) / .3)}.downbeat-config-panel-chevron{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));transition:transform .2s ease}.downbeat-config-panel-chevron--expanded{transform:rotate(180deg)}.downbeat-config-panel-content{padding:.625rem .75rem;display:flex;flex-direction:column;gap:.625rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDown .2s ease-out}.downbeat-config-panel-current{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem;background:hsl(var(--surface-1) / .5);border-radius:.375rem}.downbeat-config-panel-stat{display:flex;align-items:center;gap:.375rem}.downbeat-config-panel-stat-label{font-size:.5625rem;font-weight:500;color:hsl(var(--muted-foreground))}.downbeat-config-panel-stat-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem}.downbeat-config-panel-section{display:flex;flex-direction:column;gap:.375rem}.downbeat-config-panel-section-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.downbeat-config-panel-time-sigs{display:flex;gap:.25rem}.downbeat-config-panel-time-sig-btn{flex:1;padding:.375rem .25rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.downbeat-config-panel-time-sig-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.downbeat-config-panel-time-sig-btn:disabled{opacity:.5;cursor:not-allowed}.downbeat-config-panel-time-sig-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .2);color:hsl(var(--primary))}.downbeat-config-panel-time-sig-btn--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 14px hsl(var(--primary) / .3)}.downbeat-config-panel-section .input-container{margin-top:0}.downbeat-config-panel-section .input-field{font-family:ui-monospace,monospace;font-weight:600}.downbeat-config-panel-hint{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem}.downbeat-config-panel-hint-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:.0625rem}.downbeat-config-panel-hint-text{font-size:.5625rem;color:hsl(var(--muted-foreground));line-height:1.4}.downbeat-config-panel-hint--selection-mode{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .1));border-color:hsl(var(--primary) / .5)}.downbeat-config-panel-hint--selection-mode .downbeat-config-panel-hint-icon{color:hsl(var(--primary))}.downbeat-config-panel-hint--selection-mode .downbeat-config-panel-hint-text{color:hsl(var(--foreground))}.downbeat-config-panel-hint--selection-mode .downbeat-config-panel-hint-text strong{color:hsl(var(--primary))}.downbeat-config-panel-toggle{display:flex;flex-direction:column;gap:.25rem}.downbeat-config-panel-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.downbeat-config-panel-toggle-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.downbeat-config-panel-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.downbeat-config-panel-toggle-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 10px hsl(var(--primary) / .2)}.downbeat-config-panel-toggle-btn--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 14px hsl(var(--primary) / .3)}.downbeat-config-panel-toggle-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;transition:color .15s ease}.downbeat-config-panel-toggle-btn--active .downbeat-config-panel-toggle-icon{color:hsl(var(--primary))}.downbeat-config-panel-toggle-label{font-size:.625rem;font-weight:600;color:hsl(var(--foreground));transition:color .15s ease}.downbeat-config-panel-toggle-btn--active .downbeat-config-panel-toggle-label{color:hsl(var(--primary))}.downbeat-config-panel-toggle-hint{font-size:.5rem;color:hsl(var(--muted-foreground));padding-left:.25rem}.downbeat-config-panel-actions{display:flex;justify-content:center;gap:.5rem;padding-top:.375rem;border-top:1px solid hsl(var(--border) / .2)}.downbeat-config-panel-timeline{margin-top:.5rem}.downbeat-config-panel-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.downbeat-config-panel-timeline-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.downbeat-config-panel-advanced{margin-top:.375rem;border:1px solid hsl(var(--border) / .3);border-radius:.375rem;background:hsl(var(--surface-1) / .3);overflow:hidden}.downbeat-config-panel-advanced-header{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem .625rem;background:transparent;border:none;cursor:pointer;transition:background .15s ease}.downbeat-config-panel-advanced-header:hover:not(:disabled){background:hsl(var(--surface-2) / .5)}.downbeat-config-panel-advanced-chevron{width:.75rem;height:.75rem;color:hsl(var(--muted-foreground));transition:transform .2s ease;flex-shrink:0}.downbeat-config-panel-advanced-chevron--expanded{transform:rotate(90deg)}.downbeat-config-panel-advanced-title{font-size:.5625rem;font-weight:600;color:hsl(var(--muted-foreground))}.downbeat-config-panel-advanced-content{padding:.5rem .625rem .625rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDown .2s ease-out}.downbeat-config-panel-segments{display:flex;flex-direction:column;gap:.375rem}.downbeat-config-panel-segment{padding:.5rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.25rem}.downbeat-config-panel-segment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.downbeat-config-panel-segment-label{font-size:.5625rem;font-weight:700;color:hsl(var(--foreground))}.downbeat-config-panel-segment-range{font-size:.5rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);padding:.0625rem .375rem;border-radius:.1875rem}.downbeat-config-panel-segment-delete{margin-left:auto;padding:.25rem;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease;display:flex;align-items:center;justify-content:center}.downbeat-config-panel-segment-delete:hover:not(:disabled){background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.downbeat-config-panel-segment-delete:disabled{opacity:.5;cursor:not-allowed}.downbeat-config-panel-segment-delete-icon{width:.75rem;height:.75rem}.downbeat-config-panel-segment-details{display:flex;flex-wrap:wrap;gap:.5rem}.downbeat-config-panel-segment-detail{display:flex;align-items:center;gap:.25rem}.downbeat-config-panel-segment-detail-label{font-size:.5rem;color:hsl(var(--muted-foreground))}.downbeat-config-panel-segment-detail-value{font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--primary))}.downbeat-config-panel-add-segment-form{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:hsl(var(--surface-2) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.25rem}.downbeat-config-panel-add-segment-row{display:flex;flex-wrap:wrap;gap:.5rem}.downbeat-config-panel-add-segment-field{flex:1;min-width:100px;display:flex;flex-direction:column;gap:.25rem}.downbeat-config-panel-add-segment-label{font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground))}.downbeat-config-panel-add-segment-time-sigs{display:flex;gap:.1875rem}.downbeat-config-panel-add-segment-time-sigs .downbeat-config-panel-time-sig-btn{flex:1;padding:.25rem .125rem;font-size:.5rem}.downbeat-config-panel-add-segment-actions{display:flex;justify-content:flex-end;gap:.375rem;padding-top:.25rem;border-top:1px solid hsl(var(--border) / .2)}.downbeat-config-panel-add-segment-btn{width:100%}@media (min-width: 641px) and (max-width: 1024px){.downbeat-config-panel-header{padding:.5rem .625rem}.downbeat-config-panel-title{font-size:.625rem}.downbeat-config-panel-content{padding:.5rem .625rem;gap:.5rem}.downbeat-config-panel-current{padding:.375rem;gap:.625rem}.downbeat-config-panel-stat-label{font-size:.5rem}.downbeat-config-panel-stat-value{font-size:.625rem}.downbeat-config-panel-section-label{font-size:.5rem}.downbeat-config-panel-time-sig-btn{padding:.3125rem .1875rem;font-size:.5rem}.downbeat-config-panel-hint{padding:.375rem .5rem}.downbeat-config-panel-hint-text{font-size:.5rem}.downbeat-config-panel-toggle-btn{padding:.375rem .625rem}.downbeat-config-panel-toggle-label{font-size:.5625rem}.downbeat-config-panel-advanced-header{padding:.375rem .5rem}.downbeat-config-panel-advanced-content{padding:.375rem .5rem .5rem}.downbeat-config-panel-segment,.downbeat-config-panel-add-segment-form{padding:.375rem}}@media (max-width: 640px){.downbeat-config-panel{margin-top:.5rem}.downbeat-config-panel-header{padding:.5rem}.downbeat-config-panel-title{font-size:.5625rem}.downbeat-config-panel-badge{font-size:.4375rem;padding:.0625rem .25rem}.downbeat-config-panel-content{padding:.5rem;gap:.5rem}.downbeat-config-panel-current{padding:.375rem;gap:.5rem}.downbeat-config-panel-stat{flex-direction:column;align-items:flex-start;gap:.125rem}.downbeat-config-panel-stat-label{font-size:.5rem}.downbeat-config-panel-stat-value{font-size:.5625rem}.downbeat-config-panel-section-label{font-size:.5rem}.downbeat-config-panel-time-sigs{flex-wrap:wrap}.downbeat-config-panel-time-sig-btn{min-width:calc(33.33% - .1875rem);padding:.3125rem .125rem;font-size:.5rem}.downbeat-config-panel-hint{padding:.375rem .5rem;gap:.375rem}.downbeat-config-panel-hint-icon{width:.75rem;height:.75rem}.downbeat-config-panel-hint-text{font-size:.5rem}.downbeat-config-panel-toggle-btn{padding:.375rem .5rem}.downbeat-config-panel-toggle-label{font-size:.5rem}.downbeat-config-panel-toggle-hint{font-size:.4375rem}.downbeat-config-panel-actions{flex-direction:column}.downbeat-config-panel-actions .button{width:100%}.downbeat-config-panel-advanced-header{padding:.375rem .5rem}.downbeat-config-panel-advanced-content{padding:.375rem .5rem .5rem}.downbeat-config-panel-segment{padding:.375rem}.downbeat-config-panel-segment-details{flex-direction:column;gap:.25rem}.downbeat-config-panel-add-segment-form{padding:.375rem}.downbeat-config-panel-add-segment-row{flex-direction:column}.downbeat-config-panel-add-segment-field{min-width:100%}.downbeat-config-panel-add-segment-time-sigs{flex-wrap:wrap}.downbeat-config-panel-add-segment-time-sigs .downbeat-config-panel-time-sig-btn{min-width:calc(33.33% - .125rem)}.downbeat-config-panel-add-segment-actions{flex-direction:column}.downbeat-config-panel-add-segment-actions .button{width:100%}}@media (hover: none) and (pointer: coarse){.downbeat-config-panel-header{min-height:44px;padding:.75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.downbeat-config-panel-header:active{background:hsl(var(--surface-2) / .8)}.downbeat-config-panel-time-sig-btn{min-height:44px;padding:.625rem .5rem}.downbeat-config-panel-time-sig-btn:active{transform:scale(.98)}.downbeat-config-panel-toggle-btn{min-height:44px;padding:.625rem .75rem}.downbeat-config-panel-toggle-btn:active{transform:scale(.98)}}@media (prefers-reduced-motion: reduce){.downbeat-config-panel-content{animation:none}.downbeat-config-panel-chevron,.downbeat-config-panel-time-sig-btn,.downbeat-config-panel-header,.downbeat-config-panel-advanced-chevron,.downbeat-config-panel-advanced-header,.downbeat-config-panel-segment-delete,.downbeat-config-panel-toggle-btn,.downbeat-config-panel-toggle-icon,.downbeat-config-panel-toggle-label{transition:none}}.beat-detection-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.beat-detection-settings-section{display:flex;flex-direction:column;gap:.375rem}.beat-detection-settings-header{display:flex;justify-content:space-between;align-items:center}.beat-detection-settings-label-with-tooltip{display:flex;align-items:center;gap:.375rem}.beat-detection-settings-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-detection-settings-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.beat-detection-settings-header-right{display:flex;align-items:center;gap:.375rem}.beat-detection-settings-value--modified{color:hsl(var(--cute-amber, 38 92% 50%));background:hsl(var(--cute-amber, 38 92% 50%) / .15);box-shadow:inset 0 0 0 1px hsl(var(--cute-amber, 38 92% 50%) / .3)}.beat-detection-reset-btn{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;background:transparent;border:1px solid hsl(var(--border) / .5);border-radius:.1875rem;cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.beat-detection-reset-btn:hover{background:hsl(var(--muted) / .5);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.beat-detection-reset-btn:active{transform:scale(.9)}.beat-detection-reset-btn:disabled{opacity:.5;cursor:not-allowed}.beat-detection-reset-btn-icon{width:.625rem;height:.625rem}@media (max-width: 640px){.beat-detection-settings-header-right{gap:.25rem}.beat-detection-reset-btn{width:.875rem;height:.875rem}.beat-detection-reset-btn-icon{width:.5rem;height:.5rem}}.beat-detection-slider-container{position:relative}.beat-detection-slider--sensitivity{--slider-hue: var(--primary-hue, 250);background:linear-gradient(to right,hsl(var(--slider-color, var(--primary)) / .5) 0%,hsl(var(--slider-color, var(--primary)) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.beat-detection-slider--sensitivity::-webkit-slider-thumb{background:hsl(var(--slider-color, var(--primary)));box-shadow:0 0 10px hsl(var(--slider-color, var(--primary)) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-detection-slider--sensitivity::-webkit-slider-thumb:hover{box-shadow:0 0 15px hsl(var(--slider-color, var(--primary)) / .7)}.beat-detection-slider--sensitivity::-moz-range-thumb{background:hsl(var(--slider-color, var(--primary)));box-shadow:0 0 10px hsl(var(--slider-color, var(--primary)) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-detection-slider--sensitivity::-moz-range-progress{background:hsl(var(--slider-color, var(--primary)) / .5)}.beat-detection-slider--filter{--filter-color: var(--cute-pink, 330 80% 60%);background:linear-gradient(to right,hsl(var(--filter-color) / .5) 0%,hsl(var(--filter-color) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.beat-detection-slider--filter::-webkit-slider-thumb{background:hsl(var(--filter-color));box-shadow:0 0 10px hsl(var(--filter-color) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-detection-slider--filter::-webkit-slider-thumb:hover{box-shadow:0 0 15px hsl(var(--filter-color) / .7)}.beat-detection-slider--filter::-moz-range-thumb{background:hsl(var(--filter-color));box-shadow:0 0 10px hsl(var(--filter-color) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-detection-slider--filter::-moz-range-progress{background:hsl(var(--filter-color) / .5)}.beat-detection-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important;border-radius:2px;cursor:pointer;transition:background .1s ease;position:relative}.beat-detection-slider:before{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:0}.beat-detection-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:transparent!important}.beat-detection-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;cursor:grab;margin-top:-3px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:2}.beat-detection-slider::-webkit-slider-thumb:hover{transform:scaleY(1.2);box-shadow:0 0 15px hsl(var(--primary) / .7)}.beat-detection-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scaleY(1.1)}.beat-detection-slider::-moz-range-thumb{width:16px;height:10px;background:hsl(var(--primary));border-radius:2px;border:none;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 1px hsl(var(--background) / .4)}.beat-detection-slider::-moz-range-track{width:100%;height:4px;background:hsl(var(--border) / .5);border-radius:2px}.beat-detection-slider::-moz-range-progress{background:hsl(var(--primary) / .5);border-radius:2px}.beat-detection-slider:disabled{opacity:.5;cursor:not-allowed}.beat-detection-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;box-shadow:none}.beat-detection-slider-marks{display:flex;justify-content:space-between;margin-top:.25rem;padding:0 .125rem}.beat-detection-slider-mark{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--muted-foreground));opacity:.7}.beat-detection-slider-marks--logarithmic .beat-detection-slider-mark:nth-child(2){color:hsl(var(--primary));opacity:1}.beat-detection-slider-description{font-size:.5rem;color:hsl(var(--muted-foreground));opacity:.6;margin-top:.125rem;font-style:italic}.beat-detection-dual-slider{position:relative;margin-top:.25rem}.beat-detection-dual-slider-track{position:relative;height:4px;border-radius:2px;z-index:1}.beat-detection-dual-slider-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:hsl(var(--border) / .5);border-radius:2px;z-index:0}.beat-detection-dual-slider-track:after{content:"";position:absolute;top:-2px;right:0;bottom:-2px;left:0;background:repeating-linear-gradient(to right,hsl(var(--border) / .2) 0px,hsl(var(--border) / .2) 1px,transparent 1px,transparent 8px);pointer-events:none;z-index:1}.beat-detection-dual-slider-range{position:absolute;top:-1px;height:6px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)),hsl(var(--cute-pink)));border-radius:3px;pointer-events:none;z-index:10;box-shadow:0 0 10px hsl(var(--primary) / .3)}.beat-detection-dual-slider-inputs{position:absolute;top:0;left:0;right:0;height:20px;transform:translateY(-8px);z-index:3}.beat-detection-slider--min,.beat-detection-slider--max{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;left:0;right:0;height:20px;background:transparent;pointer-events:none;margin:0}.beat-detection-dual-slider-inputs{z-index:3}.beat-detection-slider--min:before,.beat-detection-slider--max:before{display:none!important}.beat-detection-slider--min::-webkit-slider-thumb,.beat-detection-slider--max::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:radial-gradient(circle at center,#fff,hsl(var(--primary)) 40%,hsl(var(--primary)));border:2px solid hsl(var(--primary));border-radius:50%;cursor:grab;pointer-events:auto;box-shadow:inset 0 0 6px #ffffff80,0 0 10px hsl(var(--primary) / .6);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;position:relative;z-index:4}.beat-detection-slider--min::-webkit-slider-thumb:hover,.beat-detection-slider--max::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:inset 0 0 8px #ffffffb3,0 0 15px hsl(var(--primary) / .8)}.beat-detection-slider--min::-moz-range-thumb,.beat-detection-slider--max::-moz-range-thumb{width:16px;height:16px;background:radial-gradient(circle at center,#fff,hsl(var(--primary)) 40%,hsl(var(--primary)));border:2px solid hsl(var(--primary));border-radius:50%;cursor:grab;pointer-events:auto;box-shadow:inset 0 0 6px #ffffff80,0 0 10px hsl(var(--primary) / .6)}.beat-detection-slider--min::-webkit-slider-runnable-track,.beat-detection-slider--max::-webkit-slider-runnable-track{background:transparent;height:4px}.beat-detection-slider--min::-moz-range-track,.beat-detection-slider--max::-moz-range-track{background:transparent}.beat-detection-slider--min::-moz-range-progress,.beat-detection-slider--max::-moz-range-progress{background:transparent}.beat-detection-slider--min:disabled,.beat-detection-slider--max:disabled{opacity:.5}.beat-detection-slider--min:disabled::-webkit-slider-thumb,.beat-detection-slider--max:disabled::-webkit-slider-thumb{cursor:not-allowed;box-shadow:none}@media (min-width: 641px) and (max-width: 1024px){.beat-detection-settings{gap:.625rem;margin-top:.625rem;padding-top:.625rem}.beat-detection-settings-section{gap:.3125rem}.beat-detection-settings-label{font-size:.5rem}.beat-detection-settings-value{font-size:.625rem;padding:.0938rem .3125rem}.beat-detection-slider::-webkit-slider-thumb{width:18px;height:11px}.beat-detection-slider::-moz-range-thumb{width:18px;height:11px}.beat-detection-slider--min::-webkit-slider-thumb,.beat-detection-slider--max::-webkit-slider-thumb{width:18px;height:18px}.beat-detection-slider--min::-moz-range-thumb,.beat-detection-slider--max::-moz-range-thumb{width:18px;height:18px}.beat-detection-dual-slider-inputs{height:24px;transform:translateY(-10px)}.beat-detection-slider-mark,.beat-detection-slider-description{font-size:.4688rem}.beat-detection-reset-btn{width:1.125rem;height:1.125rem}.beat-detection-reset-btn-icon{width:.6875rem;height:.6875rem}.beat-detection-advanced{margin-top:.4375rem}.beat-detection-advanced-summary{padding:.4375rem .5625rem;min-height:36px}.beat-detection-advanced-summary-text{font-size:.5rem}.beat-detection-advanced-summary-icon{font-size:.4688rem}.beat-detection-advanced-content,.beat-detection-settings-note{padding:.4375rem .5625rem}.beat-detection-settings-note-icon{width:.8125rem;height:.8125rem}.beat-detection-settings-note-text{font-size:.5625rem}}@media (max-width: 640px){.beat-detection-settings{gap:.5rem;margin-top:.5rem;padding-top:.5rem}.beat-detection-settings-section{gap:.25rem}.beat-detection-settings-label{font-size:.5rem}.beat-detection-settings-value{font-size:.625rem;padding:.0625rem .25rem}.beat-detection-slider::-webkit-slider-thumb{width:18px;height:12px}.beat-detection-slider::-moz-range-thumb{width:18px;height:12px}.beat-detection-slider-mark{font-size:.4375rem}.beat-detection-slider--min::-webkit-slider-thumb,.beat-detection-slider--max::-webkit-slider-thumb{width:16px;height:16px}.beat-detection-slider--min::-moz-range-thumb,.beat-detection-slider--max::-moz-range-thumb{width:16px;height:16px}.beat-detection-dual-slider-inputs{height:28px;transform:translateY(-12px)}.beat-detection-slider-description{font-size:.4375rem;line-height:1.3}}@media (hover: none) and (pointer: coarse){.beat-detection-slider{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.beat-detection-slider::-webkit-slider-thumb{width:28px;height:28px;border-radius:4px;margin-top:-12px}.beat-detection-slider::-moz-range-thumb{width:28px;height:28px;border-radius:4px}.beat-detection-slider--min::-webkit-slider-thumb,.beat-detection-slider--max::-webkit-slider-thumb{width:28px;height:28px}.beat-detection-slider--min::-moz-range-thumb,.beat-detection-slider--max::-moz-range-thumb{width:28px;height:28px}.beat-detection-reset-btn{width:1.25rem;height:1.25rem;min-width:28px;min-height:28px}.beat-detection-reset-btn-icon{width:.875rem;height:.875rem}.beat-detection-advanced-summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;padding:.625rem .75rem}.beat-detection-advanced-summary:active{background:hsl(var(--muted) / .5)}}.beat-detection-settings-note{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;margin-top:.25rem}.beat-detection-settings-note-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:.0625rem}.beat-detection-settings-note-text{font-size:.625rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (max-width: 640px){.beat-detection-settings-note{padding:.375rem .5rem}.beat-detection-settings-note-icon{width:.75rem;height:.75rem}.beat-detection-settings-note-text{font-size:.5625rem}}.beat-detection-advanced{margin-top:.5rem;border:1px solid hsl(var(--border) / .3);border-radius:.375rem;background:hsl(var(--muted) / .15);overflow:hidden}.beat-detection-advanced-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;transition:background .15s ease}.beat-detection-advanced-summary::-webkit-details-marker{display:none}.beat-detection-advanced-summary:hover{background:hsl(var(--muted) / .3)}.beat-detection-advanced-summary-text{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-detection-advanced-summary-icon{font-size:.5rem;color:hsl(var(--muted-foreground));transition:transform .2s ease}.beat-detection-advanced[open] .beat-detection-advanced-summary-icon{transform:rotate(90deg)}.beat-detection-advanced-content{padding:.5rem .625rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.beat-detection-advanced{margin-top:.375rem}.beat-detection-advanced-summary{padding:.375rem .5rem}.beat-detection-advanced-summary-text{font-size:.5rem}.beat-detection-advanced-summary-icon{font-size:.4375rem}.beat-detection-advanced-content{padding:.375rem .5rem}}.beat-detection-ose-section{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3);display:flex;flex-direction:column;gap:.625rem}.beat-detection-ose-toggles{display:flex;gap:.375rem;margin-top:.375rem}.beat-detection-ose-toggle{flex:1;display:flex;flex-direction:column;align-items:center;padding:.5rem .375rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:hsl(var(--muted-foreground))}.beat-detection-ose-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.beat-detection-ose-toggle:active:not(:disabled){transform:scale(.98)}.beat-detection-ose-toggle:disabled{opacity:.5;cursor:not-allowed}.beat-detection-ose-toggle--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.beat-detection-ose-toggle--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}.beat-detection-ose-toggle-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.beat-detection-ose-toggle-value{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:500;opacity:.8;margin-top:.125rem}.beat-detection-octave-resolution-toggle{display:flex;gap:.25rem;margin-top:.375rem}.beat-detection-octave-resolution-btn{flex:1;padding:.375rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));transition:all .15s ease}.beat-detection-octave-resolution-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.beat-detection-octave-resolution-btn:active:not(:disabled){transform:scale(.98)}.beat-detection-octave-resolution-btn:disabled{opacity:.5;cursor:not-allowed}.beat-detection-octave-resolution-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.beat-detection-octave-resolution-btn--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}@media (min-width: 641px) and (max-width: 1024px){.beat-detection-octave-resolution-toggle{gap:.1875rem;margin-top:.3125rem}.beat-detection-octave-resolution-btn{padding:.3125rem .4375rem;font-size:.5rem}}@media (max-width: 640px){.beat-detection-octave-resolution-toggle{gap:.125rem;margin-top:.25rem}.beat-detection-octave-resolution-btn{padding:.25rem .375rem;font-size:.5rem}}@media (hover: none) and (pointer: coarse){.beat-detection-octave-resolution-btn{min-height:44px;padding:.625rem .5rem}.beat-detection-octave-resolution-btn:active{transform:scale(.98)}}.beat-detection-ose-custom-input-container{margin-top:.5rem;padding:.5rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .4);border-radius:.375rem}.beat-detection-ose-custom-input-label{display:block;font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-bottom:.375rem}.beat-detection-ose-custom-input-wrapper{display:flex;align-items:center;gap:.375rem}.beat-detection-ose-custom-input{flex:1;padding:.375rem .5rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;font-size:.75rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--foreground));transition:all .15s ease;-moz-appearance:textfield}.beat-detection-ose-custom-input::-webkit-outer-spin-button,.beat-detection-ose-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.beat-detection-ose-custom-input:hover:not(:disabled){border-color:hsl(var(--border))}.beat-detection-ose-custom-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.beat-detection-ose-custom-input:disabled{opacity:.5;cursor:not-allowed}.beat-detection-ose-custom-input:invalid{border-color:hsl(var(--destructive, 0 72% 51%));box-shadow:0 0 0 2px hsl(var(--destructive, 0 72% 51%) / .2)}.beat-detection-ose-custom-input-unit{font-size:.625rem;font-family:ui-monospace,monospace;font-weight:500;color:hsl(var(--muted-foreground));flex-shrink:0}.beat-detection-ose-custom-input-hint{display:block;font-size:.5rem;font-style:italic;color:hsl(var(--muted-foreground));opacity:.7;margin-top:.25rem}@media (min-width: 641px) and (max-width: 1024px){.beat-detection-ose-section{margin-top:.4375rem;padding-top:.4375rem;gap:.5rem}.beat-detection-ose-toggles{gap:.3125rem}.beat-detection-ose-toggle{padding:.4375rem .3125rem}.beat-detection-ose-toggle-label{font-size:.5rem}.beat-detection-ose-toggle-value{font-size:.4375rem}.beat-detection-ose-custom-input-container{padding:.4375rem}.beat-detection-ose-custom-input-label{font-size:.4375rem}.beat-detection-ose-custom-input{padding:.3125rem .4375rem;font-size:.6875rem}.beat-detection-ose-custom-input-unit{font-size:.5625rem}.beat-detection-ose-custom-input-hint{font-size:.4375rem}}@media (max-width: 640px){.beat-detection-ose-section{margin-top:.375rem;padding-top:.375rem;gap:.5rem}.beat-detection-ose-toggles{gap:.25rem;flex-wrap:wrap}.beat-detection-ose-toggle{padding:.375rem .25rem;min-width:calc(50% - .125rem)}.beat-detection-ose-toggle-label{font-size:.5rem}.beat-detection-ose-toggle-value{font-size:.4375rem}.beat-detection-ose-custom-input-container{padding:.375rem}.beat-detection-ose-custom-input-label{font-size:.4375rem;margin-bottom:.25rem}.beat-detection-ose-custom-input-wrapper{gap:.25rem}.beat-detection-ose-custom-input{padding:.3125rem .375rem;font-size:.625rem}.beat-detection-ose-custom-input-unit{font-size:.5rem}.beat-detection-ose-custom-input-hint{font-size:.4375rem;margin-top:.1875rem}}@media (hover: none) and (pointer: coarse){.beat-detection-ose-toggle{min-height:44px;padding:.625rem .5rem}.beat-detection-ose-toggle:active{transform:scale(.98)}.beat-detection-ose-custom-input{min-height:44px;font-size:1rem;padding:.625rem .75rem}.beat-detection-ose-custom-input-unit{font-size:.75rem}}.beat-detection-reanalyze-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.625rem;padding:.5rem .625rem;background:linear-gradient(135deg,hsl(var(--cute-amber, 38 92% 50%) / .15),hsl(var(--cute-amber, 38 92% 50%) / .08));border:1px solid hsl(var(--cute-amber, 38 92% 50%) / .4);border-radius:.375rem;animation:fadeInPulse .3s ease-out}@keyframes fadeInPulse{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.beat-detection-reanalyze-indicator-icon{width:.875rem;height:.875rem;color:hsl(var(--cute-amber, 38 92% 50%));flex-shrink:0}.beat-detection-reanalyze-indicator-text{font-size:.625rem;font-weight:600;color:hsl(var(--cute-amber, 38 92% 50%));line-height:1.3}@media (min-width: 641px) and (max-width: 1024px){.beat-detection-reanalyze-indicator{padding:.4375rem .5625rem;gap:.375rem}.beat-detection-reanalyze-indicator-icon{width:.75rem;height:.75rem}.beat-detection-reanalyze-indicator-text{font-size:.5625rem}}@media (max-width: 640px){.beat-detection-reanalyze-indicator{padding:.375rem .5rem;gap:.3125rem;margin-top:.5rem}.beat-detection-reanalyze-indicator-icon{width:.6875rem;height:.6875rem}.beat-detection-reanalyze-indicator-text{font-size:.5rem}}@media (hover: none) and (pointer: coarse){.beat-detection-reanalyze-indicator{min-height:44px;padding:.625rem .75rem}}.beat-detection-interpolation{margin-top:.5rem;border:1px solid hsl(var(--border) / .3);border-radius:.375rem;background:hsl(var(--muted) / .15);overflow:hidden}.beat-detection-interpolation-summary{display:flex;justify-content:space-between;align-items:center;padding:.5rem .625rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;transition:background .15s ease}.beat-detection-interpolation-summary::-webkit-details-marker{display:none}.beat-detection-interpolation-summary:hover{background:hsl(var(--muted) / .3)}.beat-detection-interpolation-summary-text{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-detection-interpolation-summary-icon{color:hsl(var(--muted-foreground));transition:transform .2s ease}.beat-detection-interpolation[open] .beat-detection-interpolation-summary-icon{transform:rotate(180deg)}.beat-detection-interpolation-content{padding:.5rem .625rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid hsl(var(--border) / .2);animation:slideDown .2s ease-out}@media (min-width: 641px) and (max-width: 1024px){.beat-detection-interpolation{margin-top:.4375rem}.beat-detection-interpolation-summary{padding:.4375rem .5625rem;min-height:36px}.beat-detection-interpolation-summary-text{font-size:.5rem}.beat-detection-interpolation-content{padding:.4375rem .5625rem}}@media (max-width: 640px){.beat-detection-interpolation{margin-top:.375rem}.beat-detection-interpolation-summary{padding:.375rem .5rem}.beat-detection-interpolation-summary-text{font-size:.5rem}.beat-detection-interpolation-content{padding:.375rem .5rem}}@media (hover: none) and (pointer: coarse){.beat-detection-interpolation-summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;padding:.625rem .75rem}.beat-detection-interpolation-summary:active{background:hsl(var(--muted) / .5)}}@media (prefers-reduced-motion: reduce){.beat-detection-interpolation-content{animation:none}.beat-detection-interpolation-summary-icon{transition:none}}.beat-subdivision-grid{display:flex;flex-direction:column;gap:.5rem;width:100%}.beat-subdivision-grid--empty{padding:1rem;background:hsl(var(--surface-2) / .5);border:1px dashed hsl(var(--border) / .5);border-radius:.5rem;text-align:center}.beat-subdivision-grid-empty-message{font-size:.6875rem;color:hsl(var(--muted-foreground));margin:0}.beat-subdivision-grid-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;flex-wrap:wrap}.beat-subdivision-grid-info{display:flex;align-items:center;gap:.375rem}.beat-subdivision-grid-info-item{font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}.beat-subdivision-grid-info-separator{color:hsl(var(--border));font-size:.5rem}.beat-subdivision-grid-zoom{display:flex;align-items:center;gap:.125rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;padding:.125rem}.beat-subdivision-grid-zoom-btn{display:flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.375rem;padding:.125rem .375rem;background:transparent;border:none;border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:700;transition:all .15s ease}.beat-subdivision-grid-zoom-btn:hover:not(:disabled){background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.beat-subdivision-grid-zoom-btn--reset{min-width:2.25rem;font-weight:600;font-size:.5625rem;font-family:ui-monospace,monospace}.beat-subdivision-grid-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.beat-subdivision-grid-actions{display:flex;align-items:center;gap:.375rem}.beat-subdivision-grid-action-btn{display:flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.beat-subdivision-grid-action-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.beat-subdivision-grid-action-btn:active:not(:disabled){transform:scale(.98)}.beat-subdivision-grid-action-btn:disabled{opacity:.5;cursor:not-allowed}.beat-subdivision-grid-container{overflow-x:auto;overflow-y:hidden;background:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .3);border-radius:.375rem;scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent;cursor:grab}.beat-subdivision-grid-container--panning{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beat-subdivision-grid-container::-webkit-scrollbar{height:8px}.beat-subdivision-grid-container::-webkit-scrollbar-track{background:transparent}.beat-subdivision-grid-container::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:4px}.beat-subdivision-grid-container::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5)}.beat-subdivision-grid-track{display:flex;min-height:5rem;padding:.5rem 0;position:relative}.beat-subdivision-grid-playhead{position:absolute;top:0;bottom:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .6),0 0 16px hsl(var(--primary) / .3);pointer-events:none;z-index:10;transition:left .05s linear}.beat-subdivision-grid-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid hsl(var(--primary))}.beat-subdivision-grid-playhead:after{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px;background:hsl(var(--primary) / .1);pointer-events:none}.beat-subdivision-grid-virtualized{display:flex;position:absolute;top:0;left:0;min-height:5rem;padding:.5rem 0}.beat-subdivision-grid-measure{position:relative;display:flex;flex-shrink:0;padding-top:1.25rem}.beat-subdivision-grid-measure-label{position:absolute;top:0;left:.25rem;font-size:.5rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary) / .8);background:hsl(var(--background) / .85);padding:.0625rem .25rem;border-radius:.1875rem;border:1px solid hsl(var(--primary) / .2);z-index:5}.beat-subdivision-grid-measure-boundary{position:absolute;top:0;right:0;bottom:0;width:2px;background:hsl(var(--primary) / .3);box-shadow:0 0 6px hsl(var(--primary) / .2);pointer-events:none}.beat-subdivision-grid-measure:last-child .beat-subdivision-grid-measure-boundary{display:none}.beat-subdivision-grid-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:3rem;flex-shrink:0;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .2);border-right:none;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beat-subdivision-grid-measure:last-child .beat-subdivision-grid-cell:last-child{border-right:1px solid hsl(var(--border) / .2)}.beat-subdivision-grid-cell:hover:not(.beat-subdivision-grid-cell--disabled){background:hsl(var(--surface-hover) / .6);border-color:hsl(var(--border) / .4)}.beat-subdivision-grid-cell--selected{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .5)!important;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .3)}.beat-subdivision-grid-cell--selected:hover:not(.beat-subdivision-grid-cell--disabled){background:hsl(var(--primary) / .15)}.beat-subdivision-grid-cell--disabled{cursor:not-allowed;opacity:.6}.beat-subdivision-grid-cell:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.beat-subdivision-grid-cell-number{font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground) / .7);margin-bottom:.25rem}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-number{color:hsl(var(--primary))}.beat-subdivision-grid-cell-indicator{width:.75rem;height:.75rem;border-radius:50%;transition:all .15s ease}.beat-subdivision-grid-cell-indicator--quarter{background:hsl(var(--subdivision-quarter));box-shadow:0 0 6px hsl(var(--subdivision-quarter) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--quarter{box-shadow:0 0 10px hsl(var(--subdivision-quarter) / .7)}.beat-subdivision-grid-cell-indicator--half{background:hsl(var(--subdivision-half));box-shadow:0 0 6px hsl(var(--subdivision-half) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--half{box-shadow:0 0 10px hsl(var(--subdivision-half) / .7)}.beat-subdivision-grid-cell-indicator--eighth{background:hsl(var(--subdivision-eighth));box-shadow:0 0 6px hsl(var(--subdivision-eighth) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--eighth{box-shadow:0 0 10px hsl(var(--subdivision-eighth) / .7)}.beat-subdivision-grid-cell-indicator--sixteenth{background:hsl(var(--subdivision-sixteenth));box-shadow:0 0 6px hsl(var(--subdivision-sixteenth) / .5);width:.625rem;height:.625rem}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--sixteenth{box-shadow:0 0 10px hsl(var(--subdivision-sixteenth) / .7)}.beat-subdivision-grid-cell-indicator--triplet8{background:hsl(var(--subdivision-triplet8));box-shadow:0 0 6px hsl(var(--subdivision-triplet8) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--triplet8{box-shadow:0 0 10px hsl(var(--subdivision-triplet8) / .7)}.beat-subdivision-grid-cell-indicator--triplet4{background:hsl(var(--subdivision-triplet4));box-shadow:0 0 6px hsl(var(--subdivision-triplet4) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--triplet4{box-shadow:0 0 10px hsl(var(--subdivision-triplet4) / .7)}.beat-subdivision-grid-cell-indicator--dotted4{background:hsl(var(--subdivision-dotted4));box-shadow:0 0 6px hsl(var(--subdivision-dotted4) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--dotted4{box-shadow:0 0 10px hsl(var(--subdivision-dotted4) / .7)}.beat-subdivision-grid-cell-indicator--dotted8{background:hsl(var(--subdivision-dotted8));box-shadow:0 0 6px hsl(var(--subdivision-dotted8) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--dotted8{box-shadow:0 0 10px hsl(var(--subdivision-dotted8) / .7)}.beat-subdivision-grid-cell-indicator--swing{background:hsl(var(--subdivision-swing));box-shadow:0 0 6px hsl(var(--subdivision-swing) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--swing{box-shadow:0 0 10px hsl(var(--subdivision-swing) / .7)}.beat-subdivision-grid-cell-indicator--offbeat8{background:hsl(var(--subdivision-offbeat8));box-shadow:0 0 6px hsl(var(--subdivision-offbeat8) / .5)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--offbeat8{box-shadow:0 0 10px hsl(var(--subdivision-offbeat8) / .7)}.beat-subdivision-grid-cell-indicator--rest{background:hsl(var(--subdivision-rest));box-shadow:0 0 4px hsl(var(--subdivision-rest) / .4)}.beat-subdivision-grid-cell--selected .beat-subdivision-grid-cell-indicator--rest{box-shadow:0 0 8px hsl(var(--subdivision-rest) / .6)}.beat-subdivision-grid-cell--quarter{background:hsl(var(--subdivision-quarter-bg))}.beat-subdivision-grid-cell--half{background:hsl(var(--subdivision-half-bg))}.beat-subdivision-grid-cell--eighth{background:hsl(var(--subdivision-eighth-bg))}.beat-subdivision-grid-cell--sixteenth{background:hsl(var(--subdivision-sixteenth-bg))}.beat-subdivision-grid-cell--triplet8{background:hsl(var(--subdivision-triplet8-bg))}.beat-subdivision-grid-cell--triplet4{background:hsl(var(--subdivision-triplet4-bg))}.beat-subdivision-grid-cell--dotted4{background:hsl(var(--subdivision-dotted4-bg))}.beat-subdivision-grid-cell--dotted8{background:hsl(var(--subdivision-dotted8-bg))}.beat-subdivision-grid-cell--swing{background:hsl(var(--subdivision-swing-bg))}.beat-subdivision-grid-cell--offbeat8{background:hsl(var(--subdivision-offbeat8-bg))}.beat-subdivision-grid-cell--rest{background:hsl(var(--subdivision-rest-bg))}.beat-subdivision-grid-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .2);border-radius:.375rem}.beat-subdivision-grid-legend-item{display:flex;align-items:center;gap:.25rem}.beat-subdivision-grid-legend-color{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.beat-subdivision-grid-legend-color--quarter{background:hsl(var(--subdivision-quarter));box-shadow:0 0 4px hsl(var(--subdivision-quarter) / .5)}.beat-subdivision-grid-legend-color--half{background:hsl(var(--subdivision-half));box-shadow:0 0 4px hsl(var(--subdivision-half) / .5)}.beat-subdivision-grid-legend-color--eighth{background:hsl(var(--subdivision-eighth));box-shadow:0 0 4px hsl(var(--subdivision-eighth) / .5)}.beat-subdivision-grid-legend-color--sixteenth{background:hsl(var(--subdivision-sixteenth));box-shadow:0 0 4px hsl(var(--subdivision-sixteenth) / .5)}.beat-subdivision-grid-legend-color--triplet8{background:hsl(var(--subdivision-triplet8));box-shadow:0 0 4px hsl(var(--subdivision-triplet8) / .5)}.beat-subdivision-grid-legend-color--triplet4{background:hsl(var(--subdivision-triplet4));box-shadow:0 0 4px hsl(var(--subdivision-triplet4) / .5)}.beat-subdivision-grid-legend-color--dotted4{background:hsl(var(--subdivision-dotted4));box-shadow:0 0 4px hsl(var(--subdivision-dotted4) / .5)}.beat-subdivision-grid-legend-color--dotted8{background:hsl(var(--subdivision-dotted8));box-shadow:0 0 4px hsl(var(--subdivision-dotted8) / .5)}.beat-subdivision-grid-legend-color--swing{background:hsl(var(--subdivision-swing));box-shadow:0 0 4px hsl(var(--subdivision-swing) / .5)}.beat-subdivision-grid-legend-color--offbeat8{background:hsl(var(--subdivision-offbeat8));box-shadow:0 0 4px hsl(var(--subdivision-offbeat8) / .5)}.beat-subdivision-grid-legend-color--rest{background:hsl(var(--subdivision-rest));box-shadow:0 0 4px hsl(var(--subdivision-rest) / .4)}.beat-subdivision-grid-legend-label{font-size:.5rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}@media (min-width: 641px) and (max-width: 1026px){.beat-subdivision-grid-header{gap:.5rem;padding:.375rem .5rem}.beat-subdivision-grid-info-item{font-size:.5rem}.beat-subdivision-grid-zoom-btn{min-width:1.25rem;height:1.125rem;font-size:.5625rem}.beat-subdivision-grid-zoom-btn--reset{min-width:1.875rem;font-size:.5rem}.beat-subdivision-grid-action-btn{padding:.1875rem .375rem;font-size:.4375rem}.beat-subdivision-grid-measure-label{font-size:.4375rem}.beat-subdivision-grid-cell-number{font-size:.5rem}.beat-subdivision-grid-cell-indicator{width:.625rem;height:.625rem}.beat-subdivision-grid-legend{gap:.375rem;padding:.25rem .375rem}.beat-subdivision-grid-legend-color{width:.5rem;height:.5rem}.beat-subdivision-grid-legend-label{font-size:.4375rem}}@media (max-width: 640px){.beat-subdivision-grid-header{flex-direction:column;align-items:stretch;gap:.375rem;padding:.375rem}.beat-subdivision-grid-info{justify-content:center;flex-wrap:wrap}.beat-subdivision-grid-info-item{font-size:.4375rem}.beat-subdivision-grid-zoom{justify-content:center}.beat-subdivision-grid-zoom-btn{min-width:1.5rem;height:1.375rem;font-size:.625rem}.beat-subdivision-grid-zoom-btn--reset{min-width:2rem;font-size:.5rem}.beat-subdivision-grid-actions{justify-content:center}.beat-subdivision-grid-action-btn{flex:1;max-width:5rem;justify-content:center}.beat-subdivision-grid-container{border-radius:.25rem}.beat-subdivision-grid-track{min-height:3.5rem}.beat-subdivision-grid-measure{padding-top:1rem}.beat-subdivision-grid-measure-label{font-size:.375rem;padding:.0625rem .1875rem}.beat-subdivision-grid-cell{height:2.5rem}.beat-subdivision-grid-cell-number{font-size:.4375rem;margin-bottom:.125rem}.beat-subdivision-grid-cell-indicator{width:.5rem;height:.5rem}.beat-subdivision-grid-cell-indicator--sixteenth{width:.375rem;height:.375rem}.beat-subdivision-grid-legend{gap:.25rem;padding:.25rem}.beat-subdivision-grid-legend-color{width:.4375rem;height:.4375rem}.beat-subdivision-grid-legend-label{font-size:.375rem}}@media (hover: none) and (pointer: coarse){.beat-subdivision-grid-cell{min-width:44px;min-height:44px}.beat-subdivision-grid-cell-indicator{width:.875rem;height:.875rem}.beat-subdivision-grid-zoom-btn,.beat-subdivision-grid-action-btn{min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (prefers-reduced-motion: reduce){.beat-subdivision-grid-cell,.beat-subdivision-grid-cell-indicator,.beat-subdivision-grid-zoom-btn,.beat-subdivision-grid-action-btn{transition:none}}@media (prefers-contrast: more){.beat-subdivision-grid-cell{border-width:2px}.beat-subdivision-grid-cell--selected{border-width:3px}.beat-subdivision-grid-measure-boundary{width:3px}}.subdivision-toolbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;flex-wrap:wrap}.subdivision-toolbar--disabled{opacity:.6;pointer-events:none}.subdivision-toolbar-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-right:.25rem}.subdivision-toolbar-types{display:flex;gap:.25rem}.subdivision-toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;min-width:2.5rem;padding:.375rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;transition:all .15s ease;color:hsl(var(--muted-foreground));position:relative}.subdivision-toolbar-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border));transform:translateY(-1px)}.subdivision-toolbar-btn:active:not(:disabled){transform:translateY(0);transform:scale(.98)}.subdivision-toolbar-btn:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.subdivision-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.subdivision-toolbar-btn--active{border-width:2px}.subdivision-toolbar-btn--quarter.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-quarter) / .18),hsl(var(--subdivision-quarter) / .12));border-color:hsl(var(--subdivision-quarter));color:hsl(var(--subdivision-quarter));box-shadow:0 0 10px hsl(var(--subdivision-quarter) / .25)}.subdivision-toolbar-btn--half.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-half) / .18),hsl(var(--subdivision-half) / .12));border-color:hsl(var(--subdivision-half));color:hsl(var(--subdivision-half));box-shadow:0 0 10px hsl(var(--subdivision-half) / .25)}.subdivision-toolbar-btn--eighth.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-eighth) / .18),hsl(var(--subdivision-eighth) / .12));border-color:hsl(var(--subdivision-eighth));color:hsl(var(--subdivision-eighth));box-shadow:0 0 10px hsl(var(--subdivision-eighth) / .25)}.subdivision-toolbar-btn--sixteenth.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-sixteenth) / .18),hsl(var(--subdivision-sixteenth) / .12));border-color:hsl(var(--subdivision-sixteenth));color:hsl(var(--subdivision-sixteenth));box-shadow:0 0 10px hsl(var(--subdivision-sixteenth) / .25)}.subdivision-toolbar-btn--triplet8.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-triplet8) / .18),hsl(var(--subdivision-triplet8) / .12));border-color:hsl(var(--subdivision-triplet8));color:hsl(var(--subdivision-triplet8));box-shadow:0 0 10px hsl(var(--subdivision-triplet8) / .25)}.subdivision-toolbar-btn--triplet4.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-triplet4) / .18),hsl(var(--subdivision-triplet4) / .12));border-color:hsl(var(--subdivision-triplet4));color:hsl(var(--subdivision-triplet4));box-shadow:0 0 10px hsl(var(--subdivision-triplet4) / .25)}.subdivision-toolbar-btn--dotted4.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-dotted4) / .18),hsl(var(--subdivision-dotted4) / .12));border-color:hsl(var(--subdivision-dotted4));color:hsl(var(--subdivision-dotted4));box-shadow:0 0 10px hsl(var(--subdivision-dotted4) / .25)}.subdivision-toolbar-btn--dotted8.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-dotted8) / .18),hsl(var(--subdivision-dotted8) / .12));border-color:hsl(var(--subdivision-dotted8));color:hsl(var(--subdivision-dotted8));box-shadow:0 0 10px hsl(var(--subdivision-dotted8) / .25)}.subdivision-toolbar-btn--rest.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-rest) / .18),hsl(var(--subdivision-rest) / .12));border-color:hsl(var(--subdivision-rest));color:hsl(var(--subdivision-rest));box-shadow:0 0 10px hsl(var(--subdivision-rest) / .25)}.subdivision-toolbar-btn--swing.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-swing) / .18),hsl(var(--subdivision-swing) / .12));border-color:hsl(var(--subdivision-swing));color:hsl(var(--subdivision-swing));box-shadow:0 0 10px hsl(var(--subdivision-swing) / .25)}.subdivision-toolbar-btn--offbeat8.subdivision-toolbar-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-offbeat8) / .18),hsl(var(--subdivision-offbeat8) / .12));border-color:hsl(var(--subdivision-offbeat8));color:hsl(var(--subdivision-offbeat8));box-shadow:0 0 10px hsl(var(--subdivision-offbeat8) / .25)}.subdivision-toolbar-btn-indicator{display:flex;gap:.125rem;height:.375rem;align-items:center;justify-content:center}.subdivision-toolbar-btn-dot{width:.25rem;height:.25rem;background:currentColor;border-radius:50%;opacity:.7;transition:transform .15s ease}.subdivision-toolbar-btn-dot--half{width:.375rem;height:.375rem}.subdivision-toolbar-btn--active .subdivision-toolbar-btn-dot{opacity:1;transform:scale(1.1)}.subdivision-toolbar-btn-label{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1}.subdivision-toolbar-btn-shortcut{position:absolute;top:.125rem;right:.125rem;font-size:.375rem;font-weight:700;color:hsl(var(--muted-foreground) / .5);opacity:0;transition:opacity .15s ease}.subdivision-toolbar-btn:hover .subdivision-toolbar-btn-shortcut,.subdivision-toolbar-btn:focus .subdivision-toolbar-btn-shortcut{opacity:1}.subdivision-toolbar-btn--active .subdivision-toolbar-btn-shortcut{opacity:.7}.subdivision-toolbar-separator{width:1px;height:1.5rem;background:hsl(var(--border) / .5);margin:0 .25rem}.subdivision-toolbar-actions{display:flex;gap:.25rem}.subdivision-toolbar-action{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.subdivision-toolbar-action:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.subdivision-toolbar-action:active:not(:disabled){transform:scale(.98)}.subdivision-toolbar-action:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.subdivision-toolbar-action:disabled{opacity:.5;cursor:not-allowed}.subdivision-toolbar-action--primary{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .1));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.subdivision-toolbar-action--primary:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .25),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .2)}.subdivision-toolbar-action--danger:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--destructive) / .15),hsl(var(--destructive) / .1));border-color:hsl(var(--destructive) / .5);color:hsl(var(--destructive))}.subdivision-toolbar-action-count{display:flex;align-items:center;justify-content:center;min-width:1rem;height:.875rem;padding:0 .25rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:.4375rem;font-weight:700;border-radius:.25rem}.subdivision-toolbar--compact{padding:.375rem .5rem;gap:.375rem}.subdivision-toolbar--compact .subdivision-toolbar-label{font-size:.5rem}.subdivision-toolbar--compact .subdivision-toolbar-types{gap:.125rem}.subdivision-toolbar--compact .subdivision-toolbar-btn{min-width:2rem;padding:.25rem .375rem}.subdivision-toolbar--compact .subdivision-toolbar-btn-label{font-size:.4375rem}.subdivision-toolbar--compact .subdivision-toolbar-btn-indicator{height:.25rem}.subdivision-toolbar--compact .subdivision-toolbar-btn-dot{width:.1875rem;height:.1875rem}.subdivision-toolbar--compact .subdivision-toolbar-btn-dot--half{width:.25rem;height:.25rem}.subdivision-toolbar--compact .subdivision-toolbar-action{padding:.1875rem .375rem;font-size:.4375rem}@media (min-width: 641px) and (max-width: 1026px){.subdivision-toolbar{padding:.375rem .5rem;gap:.375rem}.subdivision-toolbar-label{font-size:.5rem}.subdivision-toolbar-types{gap:.125rem}.subdivision-toolbar-btn{min-width:2.25rem;padding:.3125rem .375rem}.subdivision-toolbar-btn-label{font-size:.4375rem}.subdivision-toolbar-action{padding:.1875rem .375rem;font-size:.4375rem}}@media (max-width: 640px){.subdivision-toolbar{flex-direction:column;align-items:stretch;padding:.375rem;gap:.375rem}.subdivision-toolbar-label{font-size:.5rem}.subdivision-toolbar-types{justify-content:center;flex-wrap:wrap;gap:.125rem}.subdivision-toolbar-btn{min-width:1.75rem;padding:.25rem}.subdivision-toolbar-btn-label{font-size:.375rem}.subdivision-toolbar-btn-indicator{height:.25rem}.subdivision-toolbar-btn-dot{width:.1875rem;height:.1875rem}.subdivision-toolbar-btn-shortcut,.subdivision-toolbar-separator{display:none}.subdivision-toolbar-actions{justify-content:center;flex-wrap:wrap}.subdivision-toolbar-action{flex:1;max-width:4rem;padding:.25rem;font-size:.4375rem}.subdivision-toolbar-action--primary{max-width:5rem}}@media (hover: none) and (pointer: coarse){.subdivision-toolbar-btn{min-height:44px;min-width:44px;padding:.5rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.subdivision-toolbar-btn-indicator{height:.5rem}.subdivision-toolbar-btn-dot{width:.3125rem;height:.3125rem}.subdivision-toolbar-btn-label{font-size:.5625rem}.subdivision-toolbar-btn-shortcut{display:none}.subdivision-toolbar-action{min-height:44px;padding:.5rem}.subdivision-toolbar-btn:hover:not(:disabled),.subdivision-toolbar-action:hover:not(:disabled){transform:none}}@media (prefers-reduced-motion: reduce){.subdivision-toolbar-btn,.subdivision-toolbar-action{transition:none}}@media (prefers-contrast: more){.subdivision-toolbar-btn{border-width:2px}.subdivision-toolbar-btn--active{border-width:3px}.subdivision-toolbar-action{border-width:2px}}.subdivision-preview-timeline{display:flex;flex-direction:column;gap:.5rem}.subdivision-preview-timeline--empty{padding:1rem;background:hsl(var(--surface-2) / .5);border:1px dashed hsl(var(--border) / .5);border-radius:.5rem;text-align:center}.subdivision-preview-timeline-empty-message{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}.subdivision-preview-timeline-controls{display:flex;align-items:center;gap:.5rem}.subdivision-preview-timeline-play-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:linear-gradient(135deg,hsl(var(--primary) / .9),hsl(var(--cute-purple) / .8));border:none;border-radius:50%;cursor:pointer;color:hsl(var(--background));transition:all .2s ease;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.subdivision-preview-timeline-play-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.subdivision-preview-timeline-play-btn:active:not(:disabled){transform:scale(.95)}.subdivision-preview-timeline-play-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.subdivision-preview-timeline-time{font-size:.625rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));padding:.25rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem;border:1px solid hsl(var(--border) / .3)}.subdivision-preview-timeline-track{position:relative;height:4.5rem;border-radius:.5rem;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.subdivision-preview-timeline-track:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.subdivision-preview-timeline-track.dragging{cursor:grabbing;box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.subdivision-preview-timeline-track.disabled{opacity:.6;cursor:not-allowed}.subdivision-preview-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.5rem;border:1px solid hsl(var(--border) / .4)}.subdivision-preview-timeline-past-region{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,hsl(var(--background) / .3) 0%,transparent 100%)}.subdivision-preview-timeline-future-region{position:absolute;top:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary) / .05) 100%)}.subdivision-preview-timeline-quarter-boundary{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--muted-foreground) / .2);z-index:2}.subdivision-preview-timeline-quarter-boundary.downbeat{width:2px;background:hsl(var(--primary) / .4)}.subdivision-preview-timeline-measure-label{position:absolute;top:.25rem;left:.25rem;font-size:.5rem;font-weight:600;color:hsl(var(--primary) / .8);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-shadow:0 1px 2px hsl(var(--background) / .8)}.subdivision-preview-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5;cursor:pointer;transition:transform .1s ease}.subdivision-preview-timeline-marker:hover{transform:translate(-50%,-50%) scale(1.2)}.subdivision-preview-timeline-marker-dot{border-radius:50%;background:var(--beat-color, hsl(var(--cute-yellow)));box-shadow:0 0 6px var(--beat-color, hsl(var(--cute-yellow)) / .6);transition:all .1s ease;border:2px solid hsl(var(--background) / .8)}.subdivision-preview-timeline-marker.quarter-note .subdivision-preview-timeline-marker-dot{width:.875rem;height:.875rem;border:2px solid hsl(var(--background));box-shadow:0 0 6px var(--beat-color, hsl(var(--cute-yellow)) / .7)}.subdivision-preview-timeline-marker:not(.quarter-note) .subdivision-preview-timeline-marker-dot{width:.875rem;height:.875rem;border:2px solid hsl(var(--background));box-shadow:0 0 8px var(--beat-color, hsl(var(--cute-orange)) / .8),0 0 0 1px var(--beat-color, hsl(var(--cute-orange)))}.subdivision-preview-timeline-marker.downbeat .subdivision-preview-timeline-marker-dot{width:1rem;height:1rem;background:var(--beat-color, hsl(var(--primary)));box-shadow:0 0 12px var(--beat-color, hsl(var(--primary))) / .8;border:3px solid hsl(var(--background))}.subdivision-preview-timeline-marker.past{opacity:1}.subdivision-preview-timeline-marker.past .subdivision-preview-timeline-marker-dot{opacity:.85}.subdivision-preview-timeline-marker.selected .subdivision-preview-timeline-marker-dot{box-shadow:0 0 0 2px hsl(var(--primary)),0 0 12px hsl(var(--primary) / .8);transform:scale(1.3)}.subdivision-preview-timeline-marker-number{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.125rem;font-size:.5rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px hsl(var(--background) / .8)}.subdivision-preview-timeline-marker.selected .subdivision-preview-timeline-marker-number{color:hsl(var(--primary))}.subdivision-preview-timeline-marker.downbeat .subdivision-preview-timeline-marker-number{color:hsl(var(--primary) / .9)}.subdivision-preview-timeline-marker--quarter{--beat-color: hsl(var(--subdivision-quarter))}.subdivision-preview-timeline-marker--half{--beat-color: hsl(var(--subdivision-half))}.subdivision-preview-timeline-marker--eighth{--beat-color: hsl(var(--subdivision-eighth))}.subdivision-preview-timeline-marker--sixteenth{--beat-color: hsl(var(--subdivision-sixteenth))}.subdivision-preview-timeline-marker--triplet8{--beat-color: hsl(var(--subdivision-triplet8))}.subdivision-preview-timeline-marker--triplet4{--beat-color: hsl(var(--subdivision-triplet4))}.subdivision-preview-timeline-marker--dotted4{--beat-color: hsl(var(--subdivision-dotted4))}.subdivision-preview-timeline-marker--dotted8{--beat-color: hsl(var(--subdivision-dotted8))}.subdivision-preview-timeline-marker--rest{--beat-color: hsl(var(--subdivision-rest))}.subdivision-preview-timeline-marker--swing{--beat-color: hsl(var(--subdivision-swing))}.subdivision-preview-timeline-marker--offbeat8{--beat-color: hsl(var(--subdivision-offbeat8))}.subdivision-preview-timeline-now-line{position:absolute;top:0;bottom:0;transform:translate(-50%);width:2px;z-index:10;pointer-events:none}.subdivision-preview-timeline-now-line-inner{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .8)}.subdivision-preview-timeline-now-label{position:absolute;bottom:.25rem;left:50%;transform:translate(-50%);font-size:.4375rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--primary));background:hsl(var(--background) / .8);padding:.125rem .25rem;border-radius:.125rem;white-space:nowrap}.subdivision-preview-timeline-legend{display:flex;flex-wrap:wrap;gap:.5rem;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem}.subdivision-preview-timeline-legend-item{display:flex;align-items:center;gap:.25rem;font-size:.5rem;color:hsl(var(--muted-foreground))}.subdivision-preview-timeline-legend-marker{width:.5rem;height:.5rem;border-radius:50%;background:var(--beat-color);box-shadow:0 0 4px var(--beat-color) / .5}.subdivision-preview-timeline-legend-marker--quarter{--beat-color: hsl(var(--subdivision-quarter))}.subdivision-preview-timeline-legend-marker--half{--beat-color: hsl(var(--subdivision-half))}.subdivision-preview-timeline-legend-marker--eighth{--beat-color: hsl(var(--subdivision-eighth))}.subdivision-preview-timeline-legend-marker--sixteenth{--beat-color: hsl(var(--subdivision-sixteenth))}.subdivision-preview-timeline-legend-marker--triplet8{--beat-color: hsl(var(--subdivision-triplet8))}.subdivision-preview-timeline-legend-marker--triplet4{--beat-color: hsl(var(--subdivision-triplet4))}.subdivision-preview-timeline-legend-marker--dotted4{--beat-color: hsl(var(--subdivision-dotted4))}.subdivision-preview-timeline-legend-marker--dotted8{--beat-color: hsl(var(--subdivision-dotted8))}.subdivision-preview-timeline-legend-marker--rest{--beat-color: hsl(var(--subdivision-rest))}.subdivision-preview-timeline-legend-marker--swing{--beat-color: hsl(var(--subdivision-swing))}.subdivision-preview-timeline-legend-marker--offbeat8{--beat-color: hsl(var(--subdivision-offbeat8))}@media (max-width: 640px){.subdivision-preview-timeline-track{height:4rem}.subdivision-preview-timeline-marker.quarter-note .subdivision-preview-timeline-marker-dot{width:.625rem;height:.625rem}.subdivision-preview-timeline-marker:not(.quarter-note) .subdivision-preview-timeline-marker-dot{width:.5rem;height:.5rem}.subdivision-preview-timeline-marker.downbeat .subdivision-preview-timeline-marker-dot{width:.875rem;height:.875rem}.subdivision-preview-timeline-legend{gap:.375rem}.subdivision-preview-timeline-legend-item{font-size:.4375rem}}@media (hover: none) and (pointer: coarse){.subdivision-preview-timeline-play-btn{min-width:44px;min-height:44px}.subdivision-preview-timeline-marker.quarter-note .subdivision-preview-timeline-marker-dot{width:.875rem;height:.875rem}.subdivision-preview-timeline-marker:not(.quarter-note) .subdivision-preview-timeline-marker-dot{width:.75rem;height:.75rem}}@media (prefers-reduced-motion: reduce){.subdivision-preview-timeline-marker,.subdivision-preview-timeline-marker-dot,.subdivision-preview-timeline-play-btn{transition:none}}.subdivision-preview-timeline-quickscroll{display:flex;align-items:center;gap:.5rem}.subdivision-preview-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.subdivision-preview-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.subdivision-preview-timeline-quickscroll-marker{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--primary) / .3);transform:translate(-50%)}.subdivision-preview-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.subdivision-preview-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.subdivision-settings{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.subdivision-settings-header{display:flex;justify-content:space-between;align-items:center}.subdivision-settings-title-row{display:flex;align-items:center;gap:.375rem}.subdivision-settings-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground))}.subdivision-settings-summary{font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--primary) / .2)}.subdivision-settings-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.subdivision-settings-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem}.subdivision-settings-notice-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:.0625rem}.subdivision-settings-notice-text{font-size:.625rem;color:hsl(var(--muted-foreground));line-height:1.4}.subdivision-settings-segments{display:flex;flex-direction:column;gap:.5rem}.subdivision-settings-segments-header{display:flex;justify-content:space-between;align-items:center}.subdivision-settings-beat-count{font-size:.5rem;color:hsl(var(--muted-foreground));font-style:italic}.subdivision-settings-segments-list{display:flex;flex-direction:column;gap:.5rem}.subdivision-settings-segment{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .625rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.375rem}.subdivision-settings-segment-header{display:flex;justify-content:space-between;align-items:center}.subdivision-settings-segment-number{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);padding:.125rem .375rem;border-radius:.1875rem}.subdivision-settings-segment-remove{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;background:transparent;border:1px solid hsl(var(--border) / .5);border-radius:.1875rem;cursor:pointer;color:hsl(var(--muted-foreground));transition:all .15s ease}.subdivision-settings-segment-remove:hover:not(:disabled){background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .5);color:hsl(var(--destructive))}.subdivision-settings-segment-remove:active:not(:disabled){transform:scale(.9)}.subdivision-settings-segment-remove:disabled{opacity:.5;cursor:not-allowed}.subdivision-settings-segment-remove-icon{width:.625rem;height:.625rem}.subdivision-settings-segment-field{display:flex;flex-direction:column;gap:.25rem}.subdivision-settings-segment-label{font-size:.5rem;font-weight:500;color:hsl(var(--muted-foreground))}.subdivision-settings-segment-input{width:100%;padding:.375rem .5rem;font-size:.625rem;font-family:ui-monospace,monospace;background:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;color:hsl(var(--foreground));transition:border-color .15s ease}.subdivision-settings-segment-input:hover:not(:disabled){border-color:hsl(var(--border))}.subdivision-settings-segment-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.subdivision-settings-segment-input:disabled{opacity:.5;cursor:not-allowed}.subdivision-settings-type-toggles{display:flex;flex-wrap:wrap;gap:.25rem}.subdivision-settings-type-toggle{display:flex;align-items:center;justify-content:center;padding:.375rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;transition:all .2s ease;color:hsl(var(--muted-foreground));min-width:2.5rem}.subdivision-settings-type-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.subdivision-settings-type-toggle:active:not(:disabled){transform:scale(.98)}.subdivision-settings-type-toggle:disabled{opacity:.5;cursor:not-allowed}.subdivision-settings-type-toggle--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.subdivision-settings-type-toggle--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}.subdivision-settings-type-toggle-label{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.subdivision-settings-type-description{font-size:.5rem;color:hsl(var(--muted-foreground));opacity:.8;font-style:italic;margin-top:.125rem}.subdivision-settings-add-segment{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px dashed hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:500;transition:all .2s ease}.subdivision-settings-add-segment:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.subdivision-settings-add-segment:active:not(:disabled){transform:scale(.98)}.subdivision-settings-add-segment:disabled{opacity:.5;cursor:not-allowed}.subdivision-settings-add-segment-icon{width:.75rem;height:.75rem}.subdivision-settings-segment-limit{font-size:.5rem;color:hsl(var(--cute-amber, 38 92% 50%));text-align:center;font-style:italic}.subdivision-settings-generate{display:flex;flex-direction:column;gap:.375rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.subdivision-settings-generate-btn--loading{opacity:.8;cursor:wait;animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px hsl(var(--primary) / .3)}50%{box-shadow:0 2px 16px hsl(var(--primary) / .5)}}.subdivision-settings-generate-btn-icon{width:.875rem;height:.875rem}.subdivision-settings-generate-btn-icon--spinning{animation:spin 1s linear infinite}.subdivision-settings-generated-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.subdivision-settings-generated-badge{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--cute-green, 142 76% 36%));background:hsl(var(--cute-green, 142 76% 36%) / .15);padding:.125rem .375rem;border-radius:.1875rem;box-shadow:inset 0 0 0 1px hsl(var(--cute-green, 142 76% 36%) / .3)}.subdivision-settings-generated-stats{font-size:.5rem;color:hsl(var(--muted-foreground));font-family:ui-monospace,monospace}.subdivision-settings-note{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;margin-top:.25rem}.subdivision-settings-note-icon{width:.875rem;height:.875rem;color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:.0625rem}.subdivision-settings-note-text{font-size:.625rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 641px) and (max-width: 1026px){.subdivision-settings{gap:.625rem;margin-top:.625rem;padding-top:.625rem}.subdivision-settings-title{font-size:.625rem}.subdivision-settings-summary{font-size:.5rem;padding:.0938rem .3125rem}.subdivision-settings-segment{padding:.4375rem .5625rem;gap:.3125rem}.subdivision-settings-segment-input{padding:.3125rem .4375rem;font-size:.5625rem}.subdivision-settings-type-toggle{padding:.3125rem .4375rem;min-width:2.25rem}.subdivision-settings-type-toggle-label{font-size:.4688rem}.subdivision-settings-add-segment{padding:.4375rem .625rem;font-size:.5rem}.subdivision-settings-generate-btn{padding:.5625rem .875rem;font-size:.5625rem}.subdivision-settings-note{padding:.4375rem .5625rem}.subdivision-settings-note-icon{width:.75rem;height:.75rem}.subdivision-settings-note-text{font-size:.5625rem}}@media (max-width: 640px){.subdivision-settings{gap:.5rem;margin-top:.5rem;padding-top:.5rem}.subdivision-settings-header{flex-direction:column;align-items:flex-start;gap:.25rem}.subdivision-settings-title{font-size:.5625rem}.subdivision-settings-summary{font-size:.5rem;padding:.0625rem .25rem}.subdivision-settings-segments-header{flex-direction:column;align-items:flex-start;gap:.125rem}.subdivision-settings-segment{padding:.375rem .5rem;gap:.25rem}.subdivision-settings-segment-input{padding:.25rem .375rem;font-size:.5625rem}.subdivision-settings-type-toggles{gap:.1875rem}.subdivision-settings-type-toggle{padding:.25rem .375rem;min-width:2rem;flex:1 1 calc(25% - .1875rem)}.subdivision-settings-type-toggle-label,.subdivision-settings-type-description{font-size:.4375rem}.subdivision-settings-add-segment{padding:.375rem .5rem;font-size:.5rem}.subdivision-settings-add-segment-icon{width:.625rem;height:.625rem}.subdivision-settings-generate{gap:.25rem;padding-top:.375rem}.subdivision-settings-generate-btn{padding:.5rem .75rem;font-size:.5rem}.subdivision-settings-generate-btn-icon{width:.75rem;height:.75rem}.subdivision-settings-generated-info{flex-direction:column;align-items:flex-start;gap:.25rem}.subdivision-settings-note{padding:.375rem .5rem}.subdivision-settings-note-icon{width:.75rem;height:.75rem}.subdivision-settings-note-text{font-size:.5rem}}@media (hover: none) and (pointer: coarse){.subdivision-settings-segment-input{font-size:16px;padding:.5rem}.subdivision-settings-segment-remove{min-width:44px;min-height:44px}.subdivision-settings-segment-remove-icon{width:1rem;height:1rem}.subdivision-settings-type-toggle{min-height:44px;padding:.625rem .5rem}.subdivision-settings-type-toggle:active{transform:scale(.98)}.subdivision-settings-add-segment{min-height:44px;padding:.625rem .75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.subdivision-settings-add-segment:active{background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9))}.subdivision-settings-generate-btn{min-height:44px;padding:.75rem 1rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.subdivision-settings-generate-btn:active{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.subdivision-settings-type-toggle,.subdivision-settings-add-segment,.subdivision-settings-generate-btn,.subdivision-settings-segment-remove{transition:none}.subdivision-settings-generate-btn--loading,.subdivision-settings-generate-btn-icon--spinning{animation:none}}.subdivision-settings-timeline-section{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.subdivision-settings-timeline-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:500;transition:all .2s ease;text-align:left}.subdivision-settings-timeline-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.subdivision-settings-timeline-toggle--active{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--cute-purple) / .08));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.subdivision-settings-timeline-toggle-icon{width:.875rem;height:.875rem;flex-shrink:0}.subdivision-settings-timeline-toggle-label{flex:1;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.subdivision-settings-timeline-toggle-chevron{width:.75rem;height:.75rem;flex-shrink:0;transition:transform .2s ease}.subdivision-settings-timeline-wrapper{animation:slide-down .2s ease-out}@keyframes slide-down{0%{opacity:0;max-height:0;overflow:hidden}to{opacity:1;max-height:500px;overflow:visible}}.subdivision-settings-segment--selected{border-color:hsl(var(--primary) / .6)!important;box-shadow:0 0 0 2px hsl(var(--primary) / .2),0 0 12px hsl(var(--primary) / .15)}.subdivision-settings-segment--selected .subdivision-settings-segment-number{background:hsl(var(--primary) / .2);color:hsl(var(--primary))}.subdivision-settings-segment{cursor:pointer}.subdivision-settings-segment:hover{border-color:hsl(var(--border) / .6)}@media (min-width: 641px) and (max-width: 1026px){.subdivision-settings-timeline-toggle{padding:.4375rem .625rem;font-size:.5rem}.subdivision-settings-timeline-toggle-icon{width:.75rem;height:.75rem}}@media (max-width: 640px){.subdivision-settings-timeline-section{padding-top:.375rem;gap:.375rem}.subdivision-settings-timeline-toggle{padding:.375rem .5rem;font-size:.5rem}.subdivision-settings-timeline-toggle-icon{width:.625rem;height:.625rem}.subdivision-settings-timeline-toggle-label{font-size:.4375rem}}@media (hover: none) and (pointer: coarse){.subdivision-settings-timeline-toggle{min-height:44px;padding:.625rem .75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (prefers-reduced-motion: reduce){.subdivision-settings-timeline-toggle,.subdivision-settings-timeline-wrapper{transition:none;animation:none}}.subdivision-settings-status{display:flex;flex-direction:column;gap:.375rem}.subdivision-settings-warning{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;font-size:.625rem;color:hsl(var(--muted-foreground))}.subdivision-settings-info{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;font-size:.5625rem;color:hsl(var(--muted-foreground))}.subdivision-settings-separator{color:hsl(var(--border))}.subdivision-settings-summary-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;background:hsl(var(--muted) / .2);border:1px solid hsl(var(--border) / .2);border-radius:.375rem}.subdivision-settings-summary-stat{display:flex;flex-direction:column;align-items:center;gap:.125rem;min-width:3rem}.subdivision-settings-summary-label{font-size:.4375rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.subdivision-settings-summary-value{font-size:.6875rem;font-weight:700;color:hsl(var(--foreground));font-family:ui-monospace,monospace}.subdivision-settings-distribution{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem;color:hsl(var(--muted-foreground))}.subdivision-settings-distribution svg{flex-shrink:0;color:hsl(var(--primary) / .7)}.subdivision-settings-distribution-label{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.subdivision-settings-distribution-text{font-size:.5625rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .9)}.subdivision-settings-actions{display:flex;justify-content:center;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.subdivision-settings-generate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,hsl(var(--primary) / .9),hsl(var(--cute-purple) / .8));border:none;border-radius:.375rem;cursor:pointer;color:hsl(var(--background));font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:all .2s ease;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.subdivision-settings-generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.subdivision-settings-generate-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px hsl(var(--primary) / .3)}.subdivision-settings-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.subdivision-settings-generate-btn .spinning{animation:spin 1s linear infinite}.subdivision-settings-result{display:flex;flex-direction:column;gap:.5rem;padding:.625rem;background:hsl(var(--muted) / .2);border:1px solid hsl(var(--border) / .3);border-radius:.375rem}.subdivision-settings-result-header{display:flex;align-items:center;gap:.375rem}.subdivision-settings-result-header h4{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--cute-green, 142 76% 36%));margin:0}.subdivision-settings-result-stats{display:flex;flex-wrap:wrap;gap:.5rem}.subdivision-settings-stat{display:flex;flex-direction:column;gap:.125rem;min-width:4rem}.subdivision-settings-stat-label{font-size:.5rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.subdivision-settings-stat-value{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace}.subdivision-settings-stat--multi-tempo{background:hsl(var(--cute-amber, 38 92% 50%) / .1);padding:.25rem .5rem;border-radius:.25rem;border:1px solid hsl(var(--cute-amber, 38 92% 50%) / .3)}.subdivision-settings-stat--multi-tempo .subdivision-settings-stat-value{color:hsl(var(--cute-amber, 38 92% 50%))}@media (max-width: 640px){.subdivision-settings-info{flex-direction:column;align-items:flex-start;gap:.25rem}.subdivision-settings-separator{display:none}.subdivision-settings-summary-row{flex-wrap:wrap;gap:.5rem;justify-content:space-between}.subdivision-settings-summary-stat{flex:1 1 calc(25% - .5rem);min-width:2.5rem}.subdivision-settings-distribution{flex-wrap:wrap}.subdivision-settings-result-stats{flex-direction:column;gap:.375rem}.subdivision-settings-stat{flex-direction:row;justify-content:space-between;align-items:center;min-width:auto;width:100%}.subdivision-settings-generate-btn{width:100%;padding:.75rem 1rem}}@media (hover: none) and (pointer: coarse){.subdivision-settings-generate-btn{min-height:44px;padding:.75rem 1rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.subdivision-settings-generate-btn:active{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.subdivision-settings-generate-btn{transition:none}.subdivision-settings-generate-btn .spinning{animation:none}}.chart-editor{display:flex;flex-direction:column;gap:.5rem;width:100%}.chart-editor--empty{padding:1rem;background:hsl(var(--surface-2) / .5);border:1px dashed hsl(var(--border) / .5);border-radius:.5rem;text-align:center}.chart-editor-empty-message{font-size:.6875rem;color:hsl(var(--muted-foreground));margin:0}.chart-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .3);border-radius:.375rem;flex-wrap:wrap}.chart-editor-modes{display:flex;align-items:center;gap:.25rem}.chart-editor-mode-btn{display:flex;align-items:center;justify-content:center;padding:.25rem .625rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-mode-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.chart-editor-mode-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .2);color:hsl(var(--primary))}.chart-editor-mode-btn:disabled{opacity:.5;cursor:not-allowed}.chart-editor-stats{display:flex;align-items:center;gap:.5rem}.chart-editor-stat{font-size:.5625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}.chart-editor-stat--keys{color:hsl(var(--primary));font-size:.75rem;letter-spacing:.1em}.chart-editor-clear-btn{display:flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:linear-gradient(180deg,hsl(var(--destructive) / .1),hsl(var(--destructive) / .05));border:1px solid hsl(var(--destructive) / .3);border-radius:.25rem;cursor:pointer;color:hsl(var(--destructive));font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-clear-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--destructive) / .2),hsl(var(--destructive) / .1));border-color:hsl(var(--destructive) / .5)}.chart-editor-instructions{font-size:.5625rem;color:hsl(var(--muted-foreground));text-align:center;padding:.25rem .5rem;background:hsl(var(--surface-2) / .3);border-radius:.25rem}.chart-editor-instructions strong{color:hsl(var(--primary));font-weight:700}.chart-editor-instructions--warning{color:hsl(var(--destructive))}.chart-editor-container{overflow-x:auto;overflow-y:hidden;background:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .3);border-radius:.375rem;scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent;cursor:grab}.chart-editor-container--panning{cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-editor-container::-webkit-scrollbar{height:8px}.chart-editor-container::-webkit-scrollbar-track{background:transparent}.chart-editor-container::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:4px}.chart-editor-container::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5)}.chart-editor-track{display:flex;min-height:5rem;padding:.5rem 0;position:relative}.chart-editor-playhead{position:absolute;top:0;bottom:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .6),0 0 16px hsl(var(--primary) / .3);pointer-events:none;z-index:10;transition:left .05s linear}.chart-editor-playhead:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid hsl(var(--primary))}.chart-editor-playhead:after{content:"";position:absolute;top:0;bottom:0;left:-4px;right:-4px;background:hsl(var(--primary) / .1);pointer-events:none}.chart-editor-virtualized{display:flex;position:absolute;top:0;left:0;min-height:5rem;padding:.5rem 0}.chart-editor-measure{position:relative;display:flex;flex-shrink:0;padding-top:1.25rem}.chart-editor-measure-label{position:absolute;top:0;left:.25rem;font-size:.5rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary) / .8);background:hsl(var(--background) / .85);padding:.0625rem .25rem;border-radius:.1875rem;border:1px solid hsl(var(--primary) / .2);z-index:5}.chart-editor-measure-boundary{position:absolute;top:0;right:0;bottom:0;width:2px;background:hsl(var(--primary) / .3);box-shadow:0 0 6px hsl(var(--primary) / .2);pointer-events:none}.chart-editor-measure:last-child .chart-editor-measure-boundary{display:none}.chart-editor-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:3rem;flex-shrink:0;background:hsl(var(--surface-2) / .5);border:1px solid hsl(var(--border) / .2);border-right:none;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-editor-measure:last-child .chart-editor-cell:last-child{border-right:1px solid hsl(var(--border) / .2)}.chart-editor-cell:hover:not(.chart-editor-cell--disabled){background:hsl(var(--surface-hover) / .6);border-color:hsl(var(--border) / .4)}.chart-editor-cell--disabled{cursor:not-allowed;opacity:.6}.chart-editor-cell:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.chart-editor-cell-number{font-size:.5rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground) / .7);position:absolute;top:.125rem;left:.125rem}.chart-editor-cell--quarter{background:hsl(var(--surface-2) / .8)}.chart-editor-cell--quarter .chart-editor-cell-number{color:hsl(var(--primary));font-weight:700}.chart-editor-cell-empty{width:.5rem;height:.5rem;border-radius:50%;border:1px dashed hsl(var(--muted-foreground) / .3);background:transparent}.chart-editor-cell--has-key{border-color:hsl(var(--border) / .4)}.chart-editor-cell-key{font-size:1rem;font-weight:700;line-height:1;text-shadow:0 0 8px currentColor}.chart-editor-cell--blue{background:linear-gradient(135deg,#0080ff33,#0080ff1a);border-color:#0080ff66}.chart-editor-cell--blue .chart-editor-cell-key{color:#39f}.chart-editor-cell--blue .chart-editor-cell-number{color:#0080ffb3}.chart-editor-cell--red{background:linear-gradient(135deg,#ef434333,#ef43431a);border-color:#ef434366}.chart-editor-cell--red .chart-editor-cell-key{color:#f15b5b}.chart-editor-cell--red .chart-editor-cell-number{color:#ef4343b3}.chart-editor-cell--green{background:linear-gradient(135deg,#1cce5e33,#1cce5e1a);border-color:#1cce5e66}.chart-editor-cell--green .chart-editor-cell-key{color:#35e375}.chart-editor-cell--green .chart-editor-cell-number{color:#1cce5eb3}.chart-editor-cell--purple{background:linear-gradient(135deg,#ab30e833,#ab30e81a);border-color:#ab30e866}.chart-editor-cell--purple .chart-editor-cell-key{color:#be5eed}.chart-editor-cell--purple .chart-editor-cell-number{color:#ab30e8b3}.chart-editor-cell--yellow{background:linear-gradient(135deg,#facc1433,#facc141a);border-color:#facc1466}.chart-editor-cell--yellow .chart-editor-cell-key{color:#fbd437}.chart-editor-cell--yellow .chart-editor-cell-number{color:#facc14b3}.chart-editor-cell--orange{background:linear-gradient(135deg,#fa863833,#fa86381a);border-color:#fa863866}.chart-editor-cell--orange .chart-editor-cell-key{color:#fb9551}.chart-editor-cell--orange .chart-editor-cell-number{color:#fa8638b3}.chart-editor-cell--painting{animation:chart-paint-pulse .3s ease-out}@keyframes chart-paint-pulse{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}.chart-editor-cell--erasable{cursor:pointer}.chart-editor-cell--erasable:hover{background:hsl(var(--destructive) / .15);border-color:hsl(var(--destructive) / .4)}.chart-editor-cell--erasable:hover .chart-editor-cell-key{color:hsl(var(--destructive))}.chart-editor-footer{display:flex;justify-content:center;padding:.25rem .5rem;background:hsl(var(--surface-2) / .3);border-radius:.25rem}.chart-editor-style-indicator{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}@media (min-width: 641px) and (max-width: 1026px){.chart-editor-header{gap:.5rem;padding:.375rem .5rem}.chart-editor-mode-btn{padding:.1875rem .5rem;font-size:.5rem}.chart-editor-stat{font-size:.5rem}.chart-editor-stat--keys{font-size:.625rem}.chart-editor-clear-btn{padding:.1875rem .375rem;font-size:.4375rem}.chart-editor-measure-label{font-size:.4375rem}.chart-editor-cell{height:2.5rem}.chart-editor-cell-number{font-size:.4375rem}.chart-editor-cell-key{font-size:.875rem}.chart-editor-cell-empty{width:.375rem;height:.375rem}}@media (max-width: 640px){.chart-editor-header{flex-direction:column;align-items:stretch;gap:.375rem;padding:.375rem}.chart-editor-modes{justify-content:center}.chart-editor-mode-btn{flex:1;max-width:4rem;justify-content:center;padding:.25rem .375rem;font-size:.5rem}.chart-editor-stats{justify-content:center}.chart-editor-stat{font-size:.5rem}.chart-editor-stat--keys{font-size:.5625rem}.chart-editor-clear-btn{width:100%;justify-content:center}.chart-editor-container{border-radius:.25rem}.chart-editor-track{min-height:3rem}.chart-editor-measure{padding-top:1rem}.chart-editor-measure-label{font-size:.375rem;padding:.0625rem .1875rem}.chart-editor-cell{height:2rem}.chart-editor-cell-number{font-size:.375rem}.chart-editor-cell-key{font-size:.75rem}.chart-editor-cell-empty{width:.3125rem;height:.3125rem}.chart-editor-instructions{font-size:.5rem}}@media (hover: none) and (pointer: coarse){.chart-editor-cell{min-width:44px;min-height:44px}.chart-editor-mode-btn,.chart-editor-clear-btn{min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.chart-editor-cell-key{font-size:1.25rem}}@media (prefers-reduced-motion: reduce){.chart-editor-cell,.chart-editor-mode-btn,.chart-editor-clear-btn{transition:none}.chart-editor-cell--painting{animation:none}}@media (prefers-contrast: more){.chart-editor-cell,.chart-editor-cell--has-key{border-width:2px}.chart-editor-measure-boundary{width:3px}}.chart-editor-toolbar{display:flex;flex-direction:column;gap:.625rem;padding:.75rem;background:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .3);border-radius:.5rem}.chart-editor-toolbar-row{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.chart-editor-toolbar-row--palette{padding:.25rem 0}.chart-editor-toolbar-group{display:flex;flex-direction:column;gap:.375rem}.chart-editor-toolbar-group--style,.chart-editor-toolbar-group--tools{min-width:7rem}.chart-editor-toolbar-group--clear{align-self:flex-end}.chart-editor-toolbar-group--stats{flex:1}.chart-editor-toolbar-group--io{display:flex;flex-direction:row;align-items:center;gap:.5rem;align-self:flex-end}.chart-editor-toolbar-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.chart-editor-style-toggle{display:flex;gap:.25rem}.chart-editor-style-btn{padding:.375rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-style-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.chart-editor-style-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .25);color:hsl(var(--primary))}.chart-editor-style-btn:disabled{opacity:.5;cursor:not-allowed}.chart-editor-tools{display:flex;gap:.25rem}.chart-editor-tool-btn{padding:.375rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-tool-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.chart-editor-tool-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .2);color:hsl(var(--primary))}.chart-editor-tool-btn:disabled{opacity:.5;cursor:not-allowed}.chart-editor-clear-btn{padding:.375rem .75rem;background:linear-gradient(180deg,hsl(var(--destructive) / .12),hsl(var(--destructive) / .06));border:1px solid hsl(var(--destructive) / .4);border-radius:.25rem;cursor:pointer;color:hsl(var(--destructive));font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-clear-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--destructive) / .2),hsl(var(--destructive) / .1));border-color:hsl(var(--destructive) / .6)}.chart-editor-clear-btn:active:not(:disabled){transform:scale(.98)}.chart-editor-clear-btn:disabled{opacity:.5;cursor:not-allowed}.chart-editor-stats{display:flex;align-items:center;gap:.75rem;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem;border:1px solid hsl(var(--border) / .2)}.chart-editor-stat{font-size:.5625rem;font-weight:500;color:hsl(var(--muted-foreground))}.chart-editor-stat--keys{color:hsl(var(--primary));font-size:.75rem;font-family:ui-monospace,monospace;letter-spacing:.1em;font-weight:600}.chart-editor-io-btn{padding:.375rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.25rem;cursor:pointer;color:hsl(var(--muted-foreground));font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;transition:all .15s ease}.chart-editor-io-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.chart-editor-io-btn:disabled{opacity:.5;cursor:not-allowed}.chart-editor-io-btn--export{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .1));border-color:hsl(var(--primary) / .4);color:hsl(var(--primary))}.chart-editor-io-btn--export:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .25),hsl(var(--primary) / .15));border-color:hsl(var(--primary) / .6)}.chart-editor-io-btn--import{background:linear-gradient(180deg,hsl(var(--surface-3) / .6),hsl(var(--surface-2) / .8));border-color:hsl(var(--border) / .6)}.chart-editor-io-btn--import:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .8),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.chart-editor-import-status{padding:.5rem .75rem;border-radius:.25rem;font-size:.5625rem;font-weight:500;text-align:center;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}.chart-editor-import-status--success{background:#1cce5e26;border:1px solid hsl(142 76% 46% / .4);color:#35e375}.chart-editor-import-status--error{background:hsl(var(--destructive) / .12);border:1px solid hsl(var(--destructive) / .4);color:hsl(var(--destructive))}@media (min-width: 641px) and (max-width: 1026px){.chart-editor-toolbar{padding:.625rem;gap:.5rem}.chart-editor-toolbar-row{gap:.75rem}.chart-editor-toolbar-group--style,.chart-editor-toolbar-group--tools{min-width:6rem}.chart-editor-style-btn,.chart-editor-tool-btn,.chart-editor-clear-btn,.chart-editor-io-btn{padding:.3125rem .625rem;font-size:.5rem}.chart-editor-stat{font-size:.5rem}.chart-editor-stat--keys{font-size:.625rem}}@media (max-width: 640px){.chart-editor-toolbar{padding:.5rem;gap:.5rem}.chart-editor-toolbar-row{gap:.5rem}.chart-editor-toolbar-group{min-width:0}.chart-editor-toolbar-group--style,.chart-editor-toolbar-group--tools{flex:1}.chart-editor-toolbar-group--clear{width:100%}.chart-editor-clear-btn{width:100%;justify-content:center}.chart-editor-toolbar-group--stats{width:100%}.chart-editor-toolbar-group--io{width:100%;justify-content:space-between}.chart-editor-io-btn{flex:1}.chart-editor-style-toggle,.chart-editor-tools{width:100%}.chart-editor-style-btn,.chart-editor-tool-btn{flex:1;padding:.375rem .5rem;font-size:.5rem}.chart-editor-clear-btn,.chart-editor-io-btn{padding:.375rem .5rem;font-size:.5rem}.chart-editor-stats{width:100%;justify-content:center}.chart-editor-stat{font-size:.5rem}.chart-editor-stat--keys{font-size:.5625rem}.chart-editor-toolbar-label{font-size:.5rem}}@media (hover: none) and (pointer: coarse){.chart-editor-style-btn,.chart-editor-tool-btn,.chart-editor-clear-btn,.chart-editor-io-btn{min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (prefers-reduced-motion: reduce){.chart-editor-toolbar,.chart-editor-style-btn,.chart-editor-tool-btn,.chart-editor-clear-btn,.chart-editor-io-btn{transition:none}.chart-editor-import-status{animation:none}}.key-palette{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3);transition:border-color .2s ease,box-shadow .2s ease}.key-palette-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.key-palette-keys{display:flex;gap:.375rem}.key-palette-key{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.5rem .375rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:2px solid hsl(var(--border) / .5);border-radius:.5rem;cursor:pointer;transition:all .15s ease;color:hsl(var(--muted-foreground));min-height:3.5rem;position:relative}.key-palette-key:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border));transform:translateY(-2px)}.key-palette-key:active:not(:disabled){transform:translateY(0);transform:scale(.98)}.key-palette-key:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.key-palette-key:disabled{opacity:.5;cursor:not-allowed}.key-palette-key--disabled{opacity:.5;background:hsl(var(--surface-2) / .3)}.key-palette-key-symbol{font-size:1.25rem;font-weight:700;line-height:1;transition:transform .15s ease,text-shadow .15s ease}.key-palette-key:hover:not(:disabled) .key-palette-key-symbol{transform:scale(1.1)}.key-palette-key-shortcut{font-size:.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;opacity:.6;line-height:1}.key-palette-key--selected{border-width:2px}.key-palette-key--selected .key-palette-key-symbol{transform:scale(1.15)}.key-palette-key--selected:hover:not(:disabled){transform:translateY(-2px)}.key-palette-key--selected .key-palette-key-symbol{animation:key-pulse 1.5s ease-in-out infinite}@keyframes key-pulse{0%,to{text-shadow:0 0 8px currentColor}50%{text-shadow:0 0 16px currentColor}}.key-palette-selection{font-size:.5rem;color:hsl(var(--muted-foreground));font-style:italic;text-align:center}.key-palette-key--blue{--key-color: 210 100% 50%}.key-palette-key--blue.key-palette-key--selected{background:linear-gradient(135deg,#0080ff40,#0080ff26);border-color:#0080ff;box-shadow:0 0 12px #0080ff4d;color:#39f}.key-palette-key--blue:hover:not(:disabled):not(.key-palette-key--selected){border-color:#0080ff99;color:#39f}.key-palette-key--red{--key-color: 0 84% 60%}.key-palette-key--red.key-palette-key--selected{background:linear-gradient(135deg,#ef434340,#ef434326);border-color:#ef4343;box-shadow:0 0 12px #ef43434d;color:#f15b5b}.key-palette-key--red:hover:not(:disabled):not(.key-palette-key--selected){border-color:#ef434399;color:#f15b5b}.key-palette-key--green{--key-color: 142 76% 46%}.key-palette-key--green.key-palette-key--selected{background:linear-gradient(135deg,#1cce5e40,#1cce5e26);border-color:#1cce5e;box-shadow:0 0 12px #1cce5e4d;color:#35e375}.key-palette-key--green:hover:not(:disabled):not(.key-palette-key--selected){border-color:#1cce5e99;color:#35e375}.key-palette-key--purple{--key-color: 280 80% 55%}.key-palette-key--purple.key-palette-key--selected{background:linear-gradient(135deg,#ab30e840,#ab30e826);border-color:#ab30e8;box-shadow:0 0 12px #ab30e84d;color:#be5eed}.key-palette-key--purple:hover:not(:disabled):not(.key-palette-key--selected){border-color:#ab30e899;color:#be5eed}.key-palette-key--orange{--key-color: 24 95% 60%}.key-palette-key--orange.key-palette-key--selected{background:linear-gradient(135deg,#fa863840,#fa863826);border-color:#fa8638;box-shadow:0 0 12px #fa86384d;color:#fb9551}.key-palette-key--orange:hover:not(:disabled):not(.key-palette-key--selected){border-color:#fa863899;color:#fb9551}.key-palette-key--yellow{--key-color: 48 96% 53%}.key-palette-key--yellow.key-palette-key--selected{background:linear-gradient(135deg,#facc1440,#facc1426);border-color:#facc14;box-shadow:0 0 12px #facc144d;color:#fbd437}.key-palette-key--yellow:hover:not(:disabled):not(.key-palette-key--selected){border-color:#facc1499;color:#fbd437}@media (min-width: 641px) and (max-width: 1026px){.key-palette{padding:.5rem;gap:.3125rem}.key-palette-label{font-size:.5rem}.key-palette-keys{gap:.3125rem}.key-palette-key{padding:.4375rem .3125rem;min-height:3rem}.key-palette-key-symbol{font-size:1.125rem}.key-palette-key-shortcut{font-size:.4375rem}}@media (max-width: 640px){.key-palette{padding:.5rem;gap:.25rem}.key-palette-label{font-size:.5rem}.key-palette-keys{gap:.25rem}.key-palette-key{padding:.375rem .25rem;min-height:2.75rem}.key-palette-key-symbol{font-size:1rem}.key-palette-key-shortcut{font-size:.375rem}.key-palette-selection{font-size:.4375rem}}@media (hover: none) and (pointer: coarse){.key-palette-key{min-height:48px;padding:.625rem .5rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.key-palette-key-symbol{font-size:1.5rem}.key-palette-key-shortcut{font-size:.5625rem}.key-palette-key:hover:not(:disabled){transform:none}.key-palette-key:active:not(:disabled){transform:scale(.95)}}@media (prefers-reduced-motion: reduce){.key-palette,.key-palette-key{transition:none}.key-palette-key--selected .key-palette-key-symbol{animation:none}}.chart-preview-timeline{display:flex;flex-direction:column;gap:.5rem}.chart-preview-timeline--empty{padding:1rem;background:hsl(var(--surface-2) / .5);border:1px dashed hsl(var(--border) / .5);border-radius:.5rem;text-align:center}.chart-preview-timeline-empty-message{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}.chart-preview-timeline-controls{display:flex;align-items:center;gap:.5rem}.chart-preview-timeline-play-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:linear-gradient(135deg,hsl(var(--primary) / .9),hsl(var(--cute-purple) / .8));border:none;border-radius:50%;cursor:pointer;color:hsl(var(--background));transition:all .2s ease;box-shadow:0 2px 8px hsl(var(--primary) / .3)}.chart-preview-timeline-play-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.chart-preview-timeline-play-btn:active:not(:disabled){transform:scale(.95)}.chart-preview-timeline-play-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.chart-preview-timeline-time{font-size:.625rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));padding:.25rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem;border:1px solid hsl(var(--border) / .3)}.chart-preview-timeline-track{position:relative;height:4.5rem;border-radius:.5rem;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-preview-timeline-track:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.chart-preview-timeline-track.dragging{cursor:grabbing;box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.chart-preview-timeline-track.disabled{opacity:.6;cursor:not-allowed}.chart-preview-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.5rem;border:1px solid hsl(var(--border) / .4)}.chart-preview-timeline-past-region{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,hsl(var(--background) / .3) 0%,transparent 100%)}.chart-preview-timeline-future-region{position:absolute;top:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,hsl(var(--primary) / .05) 100%)}.chart-preview-timeline-quarter-boundary{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--muted-foreground) / .2);z-index:2}.chart-preview-timeline-quarter-boundary.downbeat{width:2px;background:hsl(var(--primary) / .4)}.chart-preview-timeline-measure-label{position:absolute;top:.25rem;left:.25rem;font-size:.5rem;font-weight:600;color:hsl(var(--primary) / .8);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-shadow:0 1px 2px hsl(var(--background) / .8)}.chart-preview-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:5;cursor:pointer;transition:transform .1s ease}.chart-preview-timeline-marker:hover{transform:translate(-50%,-50%) scale(1.2)}.chart-preview-timeline-marker-dot{border-radius:50%;background:var(--beat-color, hsl(var(--cute-yellow)));box-shadow:0 0 6px var(--beat-color, hsl(var(--cute-yellow)) / .6);transition:all .1s ease;border:2px solid hsl(var(--background) / .8);min-width:1.25rem;min-height:1.25rem;display:flex;align-items:center;justify-content:center}.chart-preview-timeline-marker.quarter-note .chart-preview-timeline-marker-dot{min-width:1.5rem;min-height:1.5rem;border:2px solid hsl(var(--background));box-shadow:0 0 6px var(--beat-color, hsl(var(--cute-yellow)) / .7)}.chart-preview-timeline-marker.downbeat .chart-preview-timeline-marker-dot{min-width:1.75rem;min-height:1.75rem;box-shadow:0 0 12px var(--beat-color, hsl(var(--primary) / .8));border:3px solid hsl(var(--background))}.chart-preview-timeline-marker.past{opacity:1}.chart-preview-timeline-marker.past .chart-preview-timeline-marker-dot{opacity:.85}.chart-preview-timeline-marker.has-key .chart-preview-timeline-marker-dot{transform:scale(1.1);box-shadow:0 0 10px var(--beat-color, hsl(var(--cute-yellow) / .8)),0 0 0 2px var(--beat-color)}.chart-preview-timeline-marker-number{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.125rem;font-size:.5rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));white-space:nowrap;pointer-events:none;text-shadow:0 1px 2px hsl(var(--background) / .8)}.chart-preview-timeline-marker.downbeat .chart-preview-timeline-marker-number{color:hsl(var(--primary) / .9)}.chart-preview-timeline-marker-key{font-size:.75rem;font-weight:700;line-height:1;color:#000}.chart-preview-marker--blue{--beat-color: hsl(210 100% 50%)}.chart-preview-marker--green{--beat-color: hsl(142 76% 46%)}.chart-preview-marker--red{--beat-color: hsl(0 84% 60%)}.chart-preview-marker--purple{--beat-color: hsl(280 80% 55%)}.chart-preview-marker--yellow{--beat-color: hsl(48 96% 53%)}.chart-preview-marker--orange{--beat-color: hsl(24 95% 60%)}.chart-preview-marker--quarter{--beat-color: hsl(var(--subdivision-quarter))}.chart-preview-marker--eighth{--beat-color: hsl(var(--subdivision-eighth))}.chart-preview-marker--sixteenth{--beat-color: hsl(var(--subdivision-sixteenth))}.chart-preview-timeline-now-line{position:absolute;top:0;bottom:0;transform:translate(-50%);width:2px;z-index:10;pointer-events:none}.chart-preview-timeline-now-line-inner{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .8)}.chart-preview-timeline-now-label{position:absolute;bottom:.25rem;left:50%;transform:translate(-50%);font-size:.4375rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--primary));background:hsl(var(--background) / .8);padding:.125rem .25rem;border-radius:.125rem;white-space:nowrap}.chart-preview-timeline-legend{display:flex;flex-wrap:wrap;gap:.5rem;padding:.375rem .5rem;background:hsl(var(--surface-2) / .5);border-radius:.25rem}.chart-preview-timeline-legend-item{display:flex;align-items:center;gap:.25rem;font-size:.5rem;color:hsl(var(--muted-foreground))}.chart-preview-timeline-legend-marker{width:.5rem;height:.5rem;border-radius:50%;background:var(--beat-color, hsl(var(--cute-yellow)));box-shadow:0 0 4px var(--beat-color, hsl(var(--cute-yellow) / .5))}.chart-preview-timeline-quickscroll{display:flex;align-items:center;gap:.5rem}.chart-preview-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.chart-preview-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.chart-preview-timeline-quickscroll-marker{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--primary) / .3);transform:translate(-50%)}.chart-preview-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.chart-preview-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}@media (max-width: 640px){.chart-preview-timeline-track{height:4rem}.chart-preview-timeline-marker.quarter-note .chart-preview-timeline-marker-dot{min-width:1.25rem;min-height:1.25rem}.chart-preview-timeline-marker.downbeat .chart-preview-timeline-marker-dot{min-width:1.5rem;min-height:1.5rem}.chart-preview-timeline-legend{gap:.375rem}.chart-preview-timeline-legend-item{font-size:.4375rem}}@media (hover: none) and (pointer: coarse){.chart-preview-timeline-play-btn{min-width:44px;min-height:44px}.chart-preview-timeline-marker.quarter-note .chart-preview-timeline-marker-dot{min-width:1.5rem;min-height:1.5rem}.chart-preview-timeline-marker.downbeat .chart-preview-timeline-marker-dot{min-width:1.75rem;min-height:1.75rem}}@media (prefers-reduced-motion: reduce){.chart-preview-timeline-marker,.chart-preview-timeline-marker-dot,.chart-preview-timeline-play-btn{transition:none}}.beat-map-summary{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:linear-gradient(135deg,hsl(var(--card) / .8),hsl(var(--card) / .6));border-radius:.75rem;border:1px solid hsl(var(--border) / .4);margin-top:.75rem;animation:beat-map-summary-fade-in .3s ease-out}@keyframes beat-map-summary-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.beat-map-summary-header{display:flex;align-items:center;gap:.5rem}.beat-map-summary-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.beat-map-summary-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.beat-map-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.beat-map-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;background:hsl(var(--background) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-map-stat-value{font-size:1.25rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));line-height:1}.beat-map-stat-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-top:.25rem}.beat-map-summary-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .3)}.beat-map-summary-button{width:100%;justify-content:center}.beat-map-summary-note{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:.25rem}.beat-map-summary-note--disabled{color:hsl(var(--warning) / .9)}.beat-map-summary-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .3);border-radius:.5rem}.beat-map-summary-warning-icon{width:1rem;height:1rem;color:hsl(var(--warning));flex-shrink:0;margin-top:.125rem}.beat-map-summary-warning-text{font-size:.6875rem;color:hsl(var(--warning) / .95);line-height:1.4}.beat-map-stat-value--warning{color:hsl(var(--warning))}.beat-map-summary-info{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .2);border-radius:.5rem}.beat-map-summary-info-icon{width:1rem;height:1rem;color:hsl(var(--primary) / .8);flex-shrink:0;margin-top:.125rem}.beat-map-summary-info-text{font-size:.6875rem;color:hsl(var(--foreground) / .8);line-height:1.4}@media (max-width: 480px){.beat-map-summary-stats{grid-template-columns:1fr;gap:.5rem}.beat-map-stat{flex-direction:row;justify-content:space-between;padding:.5rem .75rem}.beat-map-stat-label{margin-top:0}}.beat-map-summary-quality-badge{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:.25rem;margin-left:auto}.beat-map-summary-quality-badge--low{background:hsl(var(--warning) / .15);color:hsl(var(--warning));border:1px solid hsl(var(--warning) / .3)}.beat-map-summary-quality-badge--unreliable{background:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .3)}.beat-map-summary-warning--low-quality{background:#ffbf0014;border-color:#ffbf0040}.beat-map-summary-warning--low-quality .beat-map-summary-warning-icon{color:#c90}.beat-map-summary-warning--low-quality .beat-map-summary-warning-text{color:#806000}.beat-map-quality-details{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:hsl(var(--muted) / .3);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-map-quality-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-map-quality-metrics{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.beat-map-quality-metric{font-size:.6875rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .8)}.beat-map-summary-note--warning{color:hsl(var(--warning) / .9)}@media (max-width: 480px){.beat-map-quality-metrics{flex-direction:column;gap:.25rem}.beat-map-summary-quality-badge{font-size:.5rem;padding:.1rem .25rem}}.beat-map-summary-settings{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;background:hsl(var(--muted) / .2);border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.beat-map-settings-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-map-settings-values{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.beat-map-settings-value{font-size:.6875rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .8)}.beat-map-settings-value--modified{color:hsl(var(--primary));font-weight:600}.beat-map-settings-value--meter{background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary))}.beat-map-interpolation-stats{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .03));border-radius:.5rem;border:1px solid hsl(var(--primary) / .2);margin-top:.25rem}.beat-map-interpolation-stats-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.375rem;border-bottom:1px solid hsl(var(--border) / .3)}.beat-map-interpolation-stats-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.beat-map-interpolation-stats-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.beat-map-multi-tempo-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#9d26d91f,#9d26d90f);border:1px solid hsl(280 70% 50% / .3);border-radius:.375rem;margin-top:.25rem}.beat-map-multi-tempo-banner-icon{width:.875rem;height:.875rem;color:#b152e0;flex-shrink:0}.beat-map-multi-tempo-banner-text{font-size:.6875rem;font-weight:500;color:#e2bef4;flex:1}.beat-map-multi-tempo-banner .tooltip-wrapper{flex-shrink:0}.beat-map-multi-tempo-banner .tooltip-icon{width:.75rem;height:.75rem;color:#b152e0}.beat-map-tempo-sections{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.beat-map-tempo-sections-header{display:flex;align-items:center;gap:.375rem}.beat-map-tempo-sections-header-icon{width:.875rem;height:.875rem;color:#b152e0}.beat-map-tempo-sections-title{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground))}.beat-map-tempo-sections-list{display:flex;flex-direction:column;gap:.375rem}.beat-map-tempo-section-card{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .625rem;background:linear-gradient(135deg,#9d26d914,#9d26d908);border:1px solid hsl(280 70% 50% / .2);border-radius:.375rem}.beat-map-tempo-section-number{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#c47de8}.beat-map-tempo-section-details{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.beat-map-tempo-section-detail{display:flex;flex-direction:column;gap:.125rem}.beat-map-tempo-section-detail-label{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-map-tempo-section-detail-value{font-size:.6875rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.beat-map-tempo-section-bpm{font-weight:700;color:#c47de8}.beat-map-tempo-timeline{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.beat-map-tempo-timeline-bar{display:flex;height:1.75rem;border-radius:.25rem;overflow:hidden;background:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .3)}.beat-map-tempo-timeline-segment{display:flex;align-items:center;justify-content:center;position:relative;min-width:2rem;transition:filter .15s ease}.beat-map-tempo-timeline-segment:hover{filter:brightness(1.1)}.beat-map-tempo-timeline-segment--color-1{background:linear-gradient(135deg,#a73cdde6,#8e22c3e6)}.beat-map-tempo-timeline-segment--color-2{background:linear-gradient(135deg,#0da2e7e6,#0b81b7e6)}.beat-map-tempo-timeline-segment--color-3{background:linear-gradient(135deg,#1cca5be6,#159d47e6)}.beat-map-tempo-timeline-segment--color-4{background:linear-gradient(135deg,#7c3bede6,#5f15e0e6)}.beat-map-tempo-timeline-bpm{font-size:.625rem;font-weight:700;font-family:ui-monospace,monospace;color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .25rem}.beat-map-tempo-timeline-boundary{position:absolute;right:0;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 4px #0000004d;z-index:1}.beat-map-tempo-timeline-labels{display:flex;border-radius:.125rem}.beat-map-tempo-timeline-label{display:flex;justify-content:flex-start;padding-left:.25rem;min-width:2rem}.beat-map-tempo-timeline-time{font-size:.5rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}@media (max-width: 480px){.beat-map-tempo-section-details{flex-direction:column;gap:.375rem}.beat-map-tempo-section-card{padding:.375rem .5rem}.beat-map-tempo-timeline-bar{height:1.5rem}.beat-map-tempo-timeline-bpm{font-size:.5625rem}.beat-map-tempo-timeline-time{font-size:.4375rem}}.beat-map-interpolation-stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.beat-map-interpolation-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.beat-map-interpolation-stat-value{font-size:.75rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--foreground));display:flex;align-items:baseline;gap:.375rem}.beat-map-interpolation-stat-confidence{font-size:.625rem;font-weight:400;color:hsl(var(--muted-foreground))}.beat-map-interpolation-stat-value--primary{font-weight:700;color:hsl(var(--primary))}.beat-map-multi-tempo-indicator{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.125rem .375rem;border-radius:.25rem}.beat-map-multi-tempo-indicator--yes{background:#9d26d926;color:#bb67e4;border:1px solid hsl(280 70% 50% / .3)}.beat-map-multi-tempo-indicator--no{background:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border) / .3)}.beat-map-multi-tempo-sections{font-size:.625rem;font-weight:400;color:hsl(var(--muted-foreground));margin-left:.25rem}.beat-map-interpolation-stats-breakdown{display:flex;flex-direction:column;gap:.25rem;padding-left:.75rem;margin-top:.125rem}.beat-map-interpolation-breakdown-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem}.beat-map-interpolation-breakdown-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.beat-map-interpolation-breakdown-dot--detected{background:hsl(var(--primary))}.beat-map-interpolation-breakdown-dot--interpolated{background:hsl(var(--primary) / .5);border:1px solid hsl(var(--primary) / .7)}.beat-map-interpolation-breakdown-label{color:hsl(var(--muted-foreground));min-width:4.5rem}.beat-map-interpolation-breakdown-value{font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.beat-map-interpolation-metrics{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.375rem;margin-top:.25rem;border-top:1px solid hsl(var(--border) / .2)}.beat-map-interpolation-metric{font-size:.625rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .8);background:hsl(var(--background) / .5);padding:.125rem .375rem;border-radius:.25rem}@media (max-width: 480px){.beat-map-interpolation-stats{padding:.625rem}.beat-map-interpolation-metrics{flex-direction:column;gap:.25rem}.beat-map-interpolation-breakdown-item{font-size:.625rem}}.beat-map-confidence-section{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;margin-top:.25rem;border-top:1px solid hsl(var(--border) / .2)}.beat-map-confidence-header{display:flex;justify-content:space-between;align-items:center}.beat-map-confidence-label{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground))}.beat-map-confidence-badge{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .5rem;border-radius:.25rem}.beat-map-confidence-badge--high{background:#16a24926;color:#16a249;border:1px solid hsl(142 76% 36% / .3)}.beat-map-confidence-badge--medium{background:#ffbf0026;color:#c90;border:1px solid hsl(45 100% 50% / .3)}.beat-map-confidence-badge--low{background:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .3)}.beat-map-confidence-bar{height:6px;background:hsl(var(--muted) / .5);border-radius:3px;overflow:hidden}.beat-map-confidence-bar-fill{height:100%;border-radius:3px;transition:width .3s ease-out}.beat-map-confidence-bar-fill--high{background:linear-gradient(90deg,#16a249,#1cce5e)}.beat-map-confidence-bar-fill--medium{background:linear-gradient(90deg,#c90,#ffbf00)}.beat-map-confidence-bar-fill--low{background:linear-gradient(90deg,hsl(var(--destructive)),hsl(var(--destructive) / .8))}.beat-map-confidence-breakdown{display:flex;flex-direction:column;gap:.375rem;margin-top:.25rem}.beat-map-confidence-breakdown-item{display:flex;align-items:center;gap:.5rem}.beat-map-confidence-breakdown-label{font-size:.5625rem;color:hsl(var(--muted-foreground));min-width:5.5rem;flex-shrink:0}.beat-map-confidence-breakdown-bar{flex:1;height:4px;background:hsl(var(--muted) / .3);border-radius:2px;overflow:hidden;min-width:2rem}.beat-map-confidence-breakdown-bar-fill{height:100%;border-radius:2px;transition:width .3s ease-out}.beat-map-confidence-breakdown-bar-fill--grid{background:hsl(var(--primary))}.beat-map-confidence-breakdown-bar-fill--anchor{background:#7c3bed}.beat-map-confidence-breakdown-bar-fill--pace{background:#0da2e7}.beat-map-confidence-breakdown-percent{font-size:.5625rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .7);min-width:2rem;text-align:right}@media (max-width: 480px){.beat-map-confidence-breakdown-label{min-width:4.5rem;font-size:.5rem}.beat-map-confidence-breakdown-percent{font-size:.5rem}}.beat-map-quarter-note-section{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .75rem;background:hsl(var(--muted) / .2);border-radius:.5rem;border:1px solid hsl(var(--border) / .2);margin-top:.5rem}.beat-map-quarter-note-header{display:flex;justify-content:space-between;align-items:center}.beat-map-quarter-note-label{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground))}.beat-map-quarter-note-method{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .5rem;border-radius:.25rem}.beat-map-quarter-note-method--histogram{background:#0da2e726;color:#0da2e7;border:1px solid hsl(199 89% 48% / .3)}.beat-map-quarter-note-method--kde{background:#7c3bed26;color:#7c3bed;border:1px solid hsl(262 83% 58% / .3)}.beat-map-quarter-note-method--tempo-detector-fallback{background:hsl(var(--warning) / .15);color:hsl(var(--warning));border:1px solid hsl(var(--warning) / .3)}.beat-map-quarter-note-details{display:flex;flex-direction:column;gap:.375rem}.beat-map-quarter-note-detail{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.beat-map-quarter-note-detail-label{font-size:.625rem;color:hsl(var(--muted-foreground))}.beat-map-quarter-note-detail-value{font-size:.6875rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground));display:flex;align-items:baseline;gap:.25rem}.beat-map-quarter-note-detail-sub{font-size:.5625rem;font-weight:400;color:hsl(var(--muted-foreground))}@media (max-width: 480px){.beat-map-quarter-note-section{padding:.5rem}.beat-map-quarter-note-detail{flex-direction:column;align-items:flex-start;gap:.125rem}}.beat-map-summary-timeline{margin-top:.5rem;padding:.75rem;background:hsl(var(--card) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-map-summary-timeline-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:center}.beat-map-summary-timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.75rem}.beat-map-summary-timeline-header .beat-map-summary-timeline-label{margin-bottom:0;text-align:left;flex:1}.beat-map-summary-timeline-play-btn{flex-shrink:0}.beat-map-subdivision-stats{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#7c3bed14,#7c3bed08);border-radius:.5rem;border:1px solid hsl(262 83% 58% / .2);margin-top:.25rem}.beat-map-subdivision-stats-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.375rem;border-bottom:1px solid hsl(var(--border) / .3)}.beat-map-subdivision-stats-icon{width:1rem;height:1rem;color:#7c3bed}.beat-map-subdivision-stats-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.beat-map-subdivision-flow{display:flex;align-items:baseline;gap:.5rem}.beat-map-subdivision-flow-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.beat-map-subdivision-flow-types{font-size:.75rem;font-weight:600;font-family:ui-monospace,monospace;color:#925cf0;letter-spacing:.02em}.beat-map-subdivision-stats-row{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.5rem 0}.beat-map-subdivision-stat{display:flex;flex-direction:column;align-items:center;gap:.125rem}.beat-map-subdivision-stat-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-map-subdivision-stat-value{font-size:1rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.beat-map-subdivision-stat-value--highlight{color:#925cf0}.beat-map-subdivision-stat-arrow{font-size:.875rem;color:hsl(var(--muted-foreground));margin-top:-.5rem}.beat-map-subdivision-metrics{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.375rem;margin-top:.125rem;border-top:1px solid hsl(var(--border) / .2)}.beat-map-subdivision-metric{font-size:.625rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground) / .8);background:hsl(var(--background) / .5);padding:.125rem .375rem;border-radius:.25rem}.beat-map-subdivision-metric--multi-tempo{background:#9d26d926;color:#c47de8;border:1px solid hsl(280 70% 50% / .2)}@media (max-width: 480px){.beat-map-subdivision-stats{padding:.625rem}.beat-map-subdivision-stats-row{gap:.5rem}.beat-map-subdivision-stat-value{font-size:.875rem}.beat-map-subdivision-flow{flex-direction:column;align-items:flex-start;gap:.25rem}.beat-map-subdivision-metrics{flex-direction:column;gap:.25rem}}.beat-map-groove-stats{margin-top:.25rem}@media (max-width: 480px){.beat-map-groove-stats{margin-top:.125rem}}.groove-stats{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:hsl(var(--background) / .8);border-radius:.625rem;border:1px solid hsl(var(--border) / .4);box-shadow:0 2px 8px #00000026}.groove-stats__header{display:flex;align-items:center;justify-content:space-between}.groove-stats__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground))}.groove-stats__stats{display:flex;flex-direction:column;gap:.625rem}.groove-stats__stat{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .2);position:relative;overflow:hidden}.groove-stats__stat-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.groove-stats__trophy,.groove-stats__fire{line-height:1}.groove-stats__stat-content{flex:1;display:flex;flex-direction:column;gap:.125rem}.groove-stats__stat-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.groove-stats__stat-value{font-size:1.5rem;font-weight:700;font-family:ui-monospace,monospace;line-height:1;color:hsl(var(--foreground))}.groove-stats__stat-unit{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:.125rem}.groove-stats__stat-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:.25rem;background:hsl(var(--surface-2));color:hsl(var(--muted-foreground));display:inline-block;width:-moz-fit-content;width:fit-content}.groove-stats__stat--cold .groove-stats__stat-value{color:#60a5fa}.groove-stats__stat--cold .groove-stats__stat-badge{background:#60a5fa26;color:#60a5fa}.groove-stats__stat--cool .groove-stats__stat-value{color:#60a5fa}.groove-stats__stat--cool .groove-stats__stat-badge{background:#60a5fa26;color:#60a5fa}.groove-stats__stat--warm .groove-stats__stat-value{color:#4ade80}.groove-stats__stat--warm .groove-stats__stat-badge{background:#4ade8026;color:#4ade80}.groove-stats__stat--hot .groove-stats__stat-value{color:#fb923c}.groove-stats__stat--hot .groove-stats__stat-badge{background:#fb923c26;color:#fb923c}.groove-stats__stat--on-fire .groove-stats__stat-value{color:#ef4444}.groove-stats__stat--on-fire .groove-stats__stat-badge{background:#ef444426;color:#ef4444;animation:fire-badge-pulse 1.5s ease-in-out infinite}@keyframes fire-badge-pulse{0%,to{box-shadow:0 0 4px #ef44444d}50%{box-shadow:0 0 8px #ef444499}}.groove-stats__stat--streak .groove-stats__stat-value{color:#fbbf24}.groove-stats__milestone-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:hsl(var(--surface-2) / .8)}.groove-stats__milestone-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#4ade80);transition:width .3s ease-out}.groove-stats__comparison{margin-top:.5rem;padding-top:.625rem;border-top:1px solid hsl(var(--border) / .2)}.groove-stats__comparison-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.groove-stats__comparison-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.groove-stats__comparison-current{font-size:.75rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.groove-stats__comparison-bar{position:relative;height:.5rem;background:hsl(var(--surface-2) / .6);border-radius:.25rem;overflow:hidden}.groove-stats__comparison-fill{position:absolute;top:0;left:0;height:100%;border-radius:.25rem}.groove-stats__comparison-fill--current{background:#60a5fa66;z-index:1}.groove-stats__comparison-fill--best{background:#fbbf244d;border:1px solid rgba(251,191,36,.5);z-index:2;box-shadow:0 0 4px #fbbf244d}@media (max-width: 640px){.groove-stats{padding:.625rem;gap:.5rem}.groove-stats__stat{padding:.5rem .625rem;gap:.5rem}.groove-stats__stat-icon{width:1.5rem;height:1.5rem;font-size:1rem}.groove-stats__stat-value{font-size:1.25rem}.groove-stats__stat-label,.groove-stats__stat-badge{font-size:.5rem}}@media (max-width: 400px){.groove-stats{padding:.5rem}.groove-stats__title{font-size:.625rem}.groove-stats__stat{padding:.375rem .5rem}.groove-stats__stat-icon{width:1.25rem;height:1.25rem;font-size:.875rem}.groove-stats__stat-value{font-size:1rem}.groove-stats__stat-unit{font-size:.625rem}.groove-stats__comparison{display:none}}.auto-beat-practice-view{display:flex;flex-direction:column;width:100%;min-height:100vh;padding:var(--space-md);background:var(--color-surface);gap:var(--space-md)}.auto-beat-practice-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-lg)}.auto-beat-practice-header-left{display:flex;align-items:center;gap:var(--space-sm)}.auto-beat-practice-header-icon{width:24px;height:24px;color:var(--color-primary)}.auto-beat-practice-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.auto-beat-practice-badge{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;font-weight:var(--font-weight-medium)}.auto-beat-practice-header-right{display:flex;align-items:center;gap:var(--space-sm)}.auto-beat-practice-difficulty-section{display:flex;justify-content:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.auto-beat-practice-controls{display:flex;justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md)}.auto-beat-practice-time{display:flex;justify-content:center;align-items:center;gap:var(--space-xs);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-family:var(--font-family-mono)}.auto-beat-practice-tap-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:2px solid var(--color-border);cursor:pointer;transition:background .2s ease,border-color .2s ease;position:relative;overflow:hidden}.auto-beat-practice-tap-area:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.auto-beat-practice-tap-area:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.3)}.auto-beat-practice-tap-area:active{transform:scale(.99)}.auto-beat-practice-tap-instruction{font-size:var(--font-size-lg);color:var(--color-text-secondary);text-align:center;padding:var(--space-xl)}.auto-beat-practice-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-transform:uppercase;animation:feedback-pop .5s ease-out forwards;pointer-events:none}.auto-beat-practice-feedback--perfect{color:var(--color-success);text-shadow:0 0 20px rgba(var(--color-success-rgb),.5)}.auto-beat-practice-feedback--good{color:var(--color-primary);text-shadow:0 0 20px rgba(var(--color-primary-rgb),.5)}.auto-beat-practice-feedback--early,.auto-beat-practice-feedback--late{color:var(--color-warning);text-shadow:0 0 20px rgba(var(--color-warning-rgb),.5)}.auto-beat-practice-feedback--miss{color:var(--color-error);text-shadow:0 0 20px rgba(var(--color-error-rgb),.5)}@keyframes feedback-pop{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1) translateY(-20px)}}.auto-beat-practice-stream-status{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-elevated);border-radius:var(--radius-md);align-self:center}.auto-beat-practice-stream-icon{width:16px;height:16px;color:var(--color-text-muted);transition:color .3s ease}.auto-beat-practice-stream-icon--active{color:var(--color-success)}.auto-beat-practice-stream-icon--paused{color:var(--color-warning)}.auto-beat-practice-stream-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auto-beat-practice-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:2px dashed var(--color-border)}.auto-beat-practice-timeline-placeholder{text-align:center;color:var(--color-text-secondary);padding:var(--space-xl)}.auto-beat-practice-timeline-placeholder p{margin:var(--space-sm) 0}.auto-beat-practice-mode-info{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-md)}@media (max-width: 768px){.auto-beat-practice-view{padding:var(--space-sm);gap:var(--space-sm)}.auto-beat-practice-tap-area{min-height:150px}.auto-beat-practice-controls{gap:var(--space-sm);padding:var(--space-sm)}.auto-beat-practice-header{flex-direction:column;gap:var(--space-sm)}.auto-beat-practice-difficulty-section{padding:var(--space-xs) 0}}:root{--tap-perfect: #22c55e;--tap-great: #eab308;--tap-good: #f97316;--tap-ok: #38bdf8;--tap-miss: #ef4444;--tap-wrong-key: #dc2626}.tap-area{position:relative;display:flex;align-items:center;justify-content:center;min-height:10rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--cute-purple) / .08));border:2px dashed hsl(var(--border) / .6);border-radius:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;outline:none}.tap-area--active:hover{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary) / .6)}.tap-area--active:focus-visible{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .3)}.tap-area--inactive{cursor:not-allowed;opacity:.5}.tap-area--pressed{transform:scale(.98);border-style:solid;border-color:hsl(var(--primary))}.tap-area--feedback{border-style:solid}.tap-area__instruction{display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.tap-area__text{font-size:2.5rem;font-weight:900;color:hsl(var(--primary));letter-spacing:.15em;text-shadow:0 2px 4px hsl(var(--primary) / .2);animation:tap-text-pulse 2s ease-in-out infinite}@keyframes tap-text-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(.98)}}.tap-area__hint{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));letter-spacing:.05em}.tap-area__feedback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:linear-gradient(135deg,var(--tap-feedback-color) / .25,var(--tap-feedback-color) / .15);border-radius:calc(1rem - 2px);animation:tap-feedback-in .15s ease-out forwards;pointer-events:none}@keyframes tap-feedback-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.tap-area__feedback--fade-out{animation:tap-feedback-out .2s ease-out forwards}@keyframes tap-feedback-out{0%{opacity:1}to{opacity:0}}.tap-area__accuracy{font-size:1.75rem;font-weight:900;color:var(--tap-feedback-color);letter-spacing:.1em;text-shadow:0 0 10px var(--tap-feedback-color) / .5,0 2px 4px hsl(var(--background) / .5);animation:tap-accuracy-pop .3s ease-out}@keyframes tap-accuracy-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tap-area__offset{font-size:.9375rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;color:hsl(var(--foreground));background:hsl(var(--background) / .6);padding:.125rem .5rem;border-radius:.25rem;animation:tap-offset-fade .3s ease-out}@keyframes tap-offset-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tap-area__ripple{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,hsl(var(--primary) / .3),hsl(var(--primary) / 0) 70%);animation:tap-ripple .4s ease-out forwards;pointer-events:none}@keyframes tap-ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(1.2);opacity:0}}.tap-area__feedback[style*="#22c55e"]{box-shadow:inset 0 0 30px var(--tap-perfect) / .2,0 0 20px var(--tap-perfect) / .3}.tap-area__feedback[style*="#eab308"]{box-shadow:inset 0 0 30px var(--tap-great) / .2,0 0 20px var(--tap-great) / .3}.tap-area__feedback[style*="#f97316"]{box-shadow:inset 0 0 30px var(--tap-good) / .2,0 0 20px var(--tap-good) / .3}.tap-area__feedback[style*="#38bdf8"]{box-shadow:inset 0 0 30px var(--tap-ok) / .2,0 0 20px var(--tap-ok) / .3}.tap-area__feedback[style*="#ef4444"]{box-shadow:inset 0 0 30px var(--tap-miss) / .2,0 0 20px var(--tap-miss) / .3;animation:tap-feedback-shake .3s ease-out,tap-feedback-in .15s ease-out forwards}@keyframes tap-feedback-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.tap-area__feedback--wrong-key{box-shadow:inset 0 0 30px var(--tap-wrong-key) / .3,0 0 25px var(--tap-wrong-key) / .4;animation:tap-feedback-shake .3s ease-out,tap-feedback-in .15s ease-out forwards}.tap-area__key-mismatch{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;margin-top:.25rem;animation:tap-key-mismatch-pop .3s ease-out}@keyframes tap-key-mismatch-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.tap-area__key-pressed{color:var(--tap-wrong-key);text-decoration:line-through;opacity:.7;font-size:1.5rem}.tap-area__key-arrow{color:hsl(var(--muted-foreground));font-size:1rem}.tap-area__key-required{color:var(--tap-perfect);font-size:1.5rem;text-shadow:0 0 10px var(--tap-perfect) / .5}.tap-area--too-fast{border-color:hsl(var(--cute-yellow))}.tap-area__too-fast{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .25),hsl(var(--cute-yellow) / .15));border-radius:calc(1rem - 2px);animation:too-fast-flash .3s ease-out;pointer-events:none}@keyframes too-fast-flash{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.tap-area__too-fast-text{font-size:1.5rem;font-weight:900;color:hsl(var(--cute-yellow));letter-spacing:.1em;text-shadow:0 0 10px hsl(var(--cute-yellow) / .5),0 2px 4px hsl(var(--background) / .5);animation:too-fast-text-pop .2s ease-out}@keyframes too-fast-text-pop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@media (max-width: 640px){.tap-area{min-height:8rem}.tap-area__text{font-size:2rem;letter-spacing:.1em}.tap-area__hint{font-size:.6875rem}.tap-area__accuracy{font-size:1.5rem}.tap-area__offset{font-size:.8125rem}.tap-area__too-fast-text{font-size:1.25rem}.tap-area__key-mismatch{font-size:1rem}.tap-area__key-pressed,.tap-area__key-required{font-size:1.25rem}}@media (max-width: 400px){.tap-area{min-height:6rem;border-radius:.75rem}.tap-area__text{font-size:1.5rem;letter-spacing:.08em}.tap-area__hint{font-size:.5625rem}.tap-area__accuracy{font-size:1.25rem}.tap-area__offset{font-size:.75rem;padding:.0625rem .375rem}.tap-area__too-fast-text{font-size:1rem}.tap-area__key-mismatch{font-size:.875rem;gap:.375rem}.tap-area__key-pressed,.tap-area__key-required{font-size:1.125rem}}@media (hover: none) and (pointer: coarse){.tap-area{min-height:12rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tap-area__text{font-size:3rem;animation:none}.tap-area__hint{font-size:.875rem}.tap-area__feedback,.tap-area__ripple{will-change:transform,opacity}}@media (hover: none) and (pointer: coarse) and (max-width: 640px){.tap-area{min-height:10rem}.tap-area__text{font-size:2.5rem}.tap-area__hint{font-size:.75rem}}@media (prefers-reduced-motion: reduce){.tap-area,.tap-area__text,.tap-area__feedback,.tap-area__accuracy,.tap-area__offset,.tap-area__ripple,.tap-area__too-fast,.tap-area__too-fast-text,.tap-area__key-mismatch{animation:none;transition:none}.tap-area--pressed{transform:none}}.tap-stats{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:hsl(var(--background) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.tap-stats__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .2)}.tap-stats__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.tap-stats__reset-btn{font-size:.625rem;padding:.25rem .5rem}.tap-stats__grid{display:flex;flex-direction:column;gap:.75rem}.tap-stats__row{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.tap-stats__row--hits{grid-template-columns:repeat(7,1fr)}.tap-stats__row--source{grid-template-columns:repeat(2,1fr);padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.tap-stats__item{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem;background:hsl(var(--surface-2) / .5);border-radius:.375rem;transition:background-color .2s ease}.tap-stats__item:hover{background:hsl(var(--surface-2) / .8)}.tap-stats__value{font-size:1rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground));line-height:1}.tap-stats__label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.tap-stats__item--perfect .tap-stats__value{color:#22c55e}.tap-stats__item--great .tap-stats__value{color:#eab308}.tap-stats__item--good .tap-stats__value{color:#f97316}.tap-stats__item--ok .tap-stats__value{color:#38bdf8}.tap-stats__item--miss .tap-stats__value{color:#ef4444}.tap-stats__item--wrong-key .tap-stats__value{color:#dc2626}.tap-stats__item--detected .tap-stats__value{color:#a855f7}.tap-stats__item--interpolated .tap-stats__value{color:#06b6d4}.tap-stats__empty{display:flex;align-items:center;justify-content:center;padding:1rem}.tap-stats__empty-text{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center}.tap-stats--compact{padding:.5rem;gap:.5rem}.tap-stats--compact .tap-stats__header{padding-bottom:.25rem}.tap-stats--compact .tap-stats__title{font-size:.625rem}.tap-stats--compact .tap-stats__row{gap:.25rem}.tap-stats--compact .tap-stats__item{padding:.375rem}.tap-stats--compact .tap-stats__value{font-size:.875rem}.tap-stats--compact .tap-stats__label{font-size:.5rem}@media (max-width: 640px){.tap-stats{padding:.5rem;gap:.5rem}.tap-stats__row{grid-template-columns:repeat(2,1fr);gap:.375rem}.tap-stats__row--hits{grid-template-columns:repeat(4,1fr)}.tap-stats__row--source{grid-template-columns:repeat(2,1fr)}.tap-stats__item{padding:.375rem}.tap-stats__value{font-size:.875rem}.tap-stats__label{font-size:.5rem}.tap-stats__empty{padding:.75rem}.tap-stats__empty-text{font-size:.6875rem}}@media (max-width: 400px){.tap-stats{padding:.375rem;gap:.375rem}.tap-stats__header{padding-bottom:.25rem}.tap-stats__title{font-size:.625rem}.tap-stats__reset-btn{font-size:.5625rem;padding:.1875rem .375rem}.tap-stats__row{grid-template-columns:repeat(2,1fr);gap:.25rem}.tap-stats__row--hits{grid-template-columns:repeat(4,1fr)}.tap-stats__row--source{grid-template-columns:repeat(2,1fr)}.tap-stats__item{padding:.25rem}.tap-stats__value{font-size:.75rem}.tap-stats__label{font-size:.4375rem}.tap-stats__empty{padding:.5rem}.tap-stats__empty-text{font-size:.625rem}}@media (max-width: 400px){.tap-stats--compact{padding:.25rem;gap:.25rem}.tap-stats--compact .tap-stats__item{padding:.1875rem}.tap-stats--compact .tap-stats__value{font-size:.625rem}.tap-stats--compact .tap-stats__label{font-size:.375rem}}.rhythm-xp-session{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:hsl(var(--background) / .8);border-radius:.625rem;border:1px solid hsl(var(--border) / .4);box-shadow:0 2px 8px #00000026}.rhythm-xp-session__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .2)}.rhythm-xp-session__title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground))}.rhythm-xp-session__title-icon{color:hsl(var(--cute-amber))}.rhythm-xp-session__summary{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;background:hsl(var(--surface-2) / .3);border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.rhythm-xp-session__summary-item{display:flex;align-items:center;gap:.75rem}.rhythm-xp-session__summary-icon{color:hsl(var(--muted-foreground))}.rhythm-xp-session__summary-item--score .rhythm-xp-session__summary-icon{color:hsl(var(--cute-amber))}.rhythm-xp-session__summary-item--xp .rhythm-xp-session__summary-icon{color:hsl(var(--cute-purple))}.rhythm-xp-session__summary-content{display:flex;flex-direction:column;align-items:center;gap:.125rem}.rhythm-xp-session__summary-value{font-size:1.5rem;font-weight:700;font-family:ui-monospace,monospace;line-height:1;color:hsl(var(--foreground))}.rhythm-xp-session__summary-item--score .rhythm-xp-session__summary-value{color:hsl(var(--cute-amber))}.rhythm-xp-session__summary-item--xp .rhythm-xp-session__summary-value{color:hsl(var(--cute-purple))}.rhythm-xp-session__summary-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.rhythm-xp-session__summary-divider{width:1px;height:2.5rem;background:hsl(var(--border) / .3)}.rhythm-xp-session__accuracy{display:flex;flex-direction:column;gap:.5rem}.rhythm-xp-session__accuracy-header{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.rhythm-xp-session__accuracy-percentage{margin-left:auto;font-family:ui-monospace,monospace;color:hsl(var(--foreground));background:hsl(var(--surface-2) / .5);padding:.125rem .375rem;border-radius:.25rem}.rhythm-xp-session__accuracy-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.375rem}.rhythm-xp-session__accuracy-item{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .375rem;background:hsl(var(--surface-2) / .5);border-radius:.375rem;border:1px solid hsl(var(--border) / .2);transition:background-color .2s ease,border-color .2s ease}.rhythm-xp-session__accuracy-item:hover{background:hsl(var(--surface-2) / .8)}.rhythm-xp-session__accuracy-value{font-size:.875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground));line-height:1}.rhythm-xp-session__accuracy-label{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.rhythm-xp-session__accuracy--perfect .rhythm-xp-session__accuracy-value{color:#22c55e}.rhythm-xp-session__accuracy--perfect{border-color:#22c55e4d}.rhythm-xp-session__accuracy--great .rhythm-xp-session__accuracy-value{color:#eab308}.rhythm-xp-session__accuracy--great{border-color:#eab3084d}.rhythm-xp-session__accuracy--good .rhythm-xp-session__accuracy-value{color:#f97316}.rhythm-xp-session__accuracy--good{border-color:#f973164d}.rhythm-xp-session__accuracy--ok .rhythm-xp-session__accuracy-value{color:#38bdf8}.rhythm-xp-session__accuracy--ok{border-color:#38bdf84d}.rhythm-xp-session__accuracy--miss .rhythm-xp-session__accuracy-value{color:#ef4444}.rhythm-xp-session__accuracy--miss{border-color:#ef44444d}.rhythm-xp-session__accuracy--wrong-key .rhythm-xp-session__accuracy-value{color:#dc2626}.rhythm-xp-session__accuracy--wrong-key{border-color:#dc26264d}.rhythm-xp-session__max-combo{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#fbbf241a,#fb923c1a);border-radius:.5rem;border:1px solid rgba(251,191,36,.3)}.rhythm-xp-session__max-combo-icon{color:#fbbf24}.rhythm-xp-session__max-combo-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.rhythm-xp-session__max-combo-value{margin-left:auto;font-size:1.125rem;font-weight:700;font-family:ui-monospace,monospace;color:#fbbf24}.rhythm-xp-session__bonuses{display:flex;flex-direction:column;gap:.5rem;min-height:0}.rhythm-xp-session__bonus{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.5rem;border:1px solid hsl(var(--border) / .3);animation:bonus-slide-in .3s ease-out}@keyframes bonus-slide-in{0%{opacity:0;transform:translate(-1rem)}to{opacity:1;transform:translate(0)}}.rhythm-xp-session__bonus--combo{background:linear-gradient(135deg,#fb923c26,#f9731626);border-color:#fb923c66}.rhythm-xp-session__bonus--groove{background:linear-gradient(135deg,#a855f726,#8b5cf626);border-color:#a855f766}.rhythm-xp-session__bonus-icon{font-size:1.25rem;line-height:1}.rhythm-xp-session__bonus-content{display:flex;flex-direction:column;gap:.125rem}.rhythm-xp-session__bonus-xp{font-size:1rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.rhythm-xp-session__bonus--combo .rhythm-xp-session__bonus-xp{color:#fb923c}.rhythm-xp-session__bonus--groove .rhythm-xp-session__bonus-xp{color:#a855f7}.rhythm-xp-session__bonus-detail{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground))}.rhythm-xp-session__claim{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .2)}.rhythm-xp-session__claim-btn{width:100%;max-width:280px}.rhythm-xp-session__claim-hint{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:center}.rhythm-xp-session__empty{display:flex;align-items:center;justify-content:center;padding:1.5rem}.rhythm-xp-session__empty-text{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center}@media (max-width: 640px){.rhythm-xp-session{padding:.625rem;gap:.5rem}.rhythm-xp-session__summary{padding:.5rem;gap:.75rem}.rhythm-xp-session__summary-value{font-size:1.25rem}.rhythm-xp-session__accuracy-grid{grid-template-columns:repeat(3,1fr)}.rhythm-xp-session__accuracy-item{padding:.375rem .25rem}.rhythm-xp-session__accuracy-value{font-size:.75rem}.rhythm-xp-session__accuracy-label{font-size:.4375rem}.rhythm-xp-session__max-combo{padding:.375rem .5rem}.rhythm-xp-session__max-combo-value{font-size:1rem}}@media (max-width: 400px){.rhythm-xp-session{padding:.5rem;gap:.375rem}.rhythm-xp-session__header{padding-bottom:.375rem}.rhythm-xp-session__title{font-size:.625rem}.rhythm-xp-session__summary{padding:.375rem;gap:.5rem}.rhythm-xp-session__summary-value{font-size:1rem}.rhythm-xp-session__summary-label{font-size:.5rem}.rhythm-xp-session__accuracy-header{font-size:.5625rem}.rhythm-xp-session__accuracy-grid{grid-template-columns:repeat(3,1fr);gap:.25rem}.rhythm-xp-session__accuracy-item{padding:.25rem .1875rem}.rhythm-xp-session__accuracy-value{font-size:.625rem}.rhythm-xp-session__accuracy-label{font-size:.375rem}.rhythm-xp-session__bonus{padding:.5rem;gap:.5rem}.rhythm-xp-session__bonus-xp,.rhythm-xp-session__claim-btn{font-size:.875rem}}.difficulty-switcher{display:flex;gap:.5rem;padding:.5rem;background:var(--bg-tertiary, #0f0f1a);border-radius:8px}.difficulty-switcher--compact{padding:.375rem;gap:.375rem}.difficulty-switcher--disabled{opacity:.5;pointer-events:none}.difficulty-switcher .difficulty-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem .5rem;background:#ffffff08;border:1.5px solid rgba(255,255,255,.06);border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit;position:relative}.difficulty-switcher .difficulty-btn:hover:not(:disabled):not(.difficulty-btn--active){background:#ffffff0f;border-color:#ffffff1f}.difficulty-switcher .difficulty-btn:focus{outline:none;box-shadow:0 0 0 2px rgba(var(--difficulty-color-rgb, 139, 92, 246),.3)}.difficulty-switcher .difficulty-btn:disabled{cursor:not-allowed;opacity:.6}.difficulty-switcher--compact .difficulty-btn{padding:.5rem .375rem;gap:.125rem;background:#ffffff08;border:1.5px solid rgba(255,255,255,.06)}.difficulty-switcher .difficulty-btn-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6;transition:color .2s ease}.difficulty-switcher .difficulty-btn-count{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:#ffffff40;transition:color .2s ease}.difficulty-switcher--compact .difficulty-btn-label{font-size:.6875rem;color:#fff6}.difficulty-switcher--compact .difficulty-btn-count{font-size:.625rem;color:#ffffff40}.difficulty-switcher .difficulty-btn--active{background:var(--difficulty-color, #8b5cf6);border-color:var(--difficulty-color, #8b5cf6);border-width:2px;box-shadow:0 0 16px rgba(var(--difficulty-color-rgb, 139, 92, 246),.5),0 0 4px rgba(var(--difficulty-color-rgb, 139, 92, 246),.8),inset 0 1px #ffffff26;transform:scale(1.05);z-index:1}.difficulty-switcher .difficulty-btn--active:hover:not(:disabled){background:var(--difficulty-color, #8b5cf6);border-color:var(--difficulty-color, #8b5cf6)}.difficulty-switcher .difficulty-btn--active .difficulty-btn-label{color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.difficulty-switcher .difficulty-btn--active .difficulty-btn-count{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3)}.difficulty-switcher .difficulty-natural{--difficulty-color: #8b5cf6;--difficulty-color-rgb: 139, 92, 246}.difficulty-switcher .difficulty-easy{--difficulty-color: #22c55e;--difficulty-color-rgb: 34, 197, 94}.difficulty-switcher .difficulty-medium{--difficulty-color: #f59e0b;--difficulty-color-rgb: 245, 158, 11}.difficulty-switcher .difficulty-hard{--difficulty-color: #ef4444;--difficulty-color-rgb: 239, 68, 68}@media (max-width: 640px){.difficulty-switcher{flex-wrap:wrap}.difficulty-switcher .difficulty-btn{flex:1 1 45%;min-width:80px}}@media (prefers-contrast: more){.difficulty-switcher .difficulty-btn--active{border-width:3px}}@media (prefers-reduced-motion: reduce){.difficulty-switcher .difficulty-btn{transition:none}}.difficulty-switcher .difficulty-btn:focus-visible{outline:2px solid var(--difficulty-color, #8b5cf6);outline-offset:2px}.difficulty-panel__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:hsl(var(--background) / .8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:difficulty-panel-fade-in .2s ease-out}@keyframes difficulty-panel-fade-in{0%{opacity:0}to{opacity:1}}.difficulty-panel{background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px hsl(var(--foreground) / .25),0 0 0 1px hsl(var(--border) / .1);max-width:480px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:difficulty-panel-slide-up .25s ease-out}@keyframes difficulty-panel-slide-up{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.difficulty-panel__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border) / .5);background:hsl(var(--surface-2) / .5)}.difficulty-panel__header-left{display:flex;align-items:center;gap:.625rem}.difficulty-panel__header-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.difficulty-panel__title{font-size:1rem;font-weight:700;color:hsl(var(--foreground));margin:0;letter-spacing:-.01em}.difficulty-panel__close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color .15s ease,color .15s ease}.difficulty-panel__close-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground))}.difficulty-panel__close-btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.difficulty-panel__close-btn svg{width:1.125rem;height:1.125rem}.difficulty-panel__content{padding:1.25rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.25rem}.difficulty-panel__section{display:flex;flex-direction:column;gap:.75rem}.difficulty-panel__section-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin:0}.difficulty-panel__thresholds-preview{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:hsl(var(--surface-2) / .3);border-radius:var(--radius);border:1px solid hsl(var(--border) / .3)}.difficulty-panel__thresholds-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.difficulty-panel__threshold-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:hsl(var(--background) / .5);border-radius:.375rem}.difficulty-panel__threshold-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.difficulty-panel__threshold-dot--perfect{background:#16a249;box-shadow:0 0 6px #16a24980}.difficulty-panel__threshold-dot--great{background:#e7b008;box-shadow:0 0 6px #e7b00880}.difficulty-panel__threshold-dot--good{background:#f97415;box-shadow:0 0 6px #f9741580}.difficulty-panel__threshold-dot--ok{background:#0da2e7;box-shadow:0 0 6px #0da2e780}.difficulty-panel__threshold-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));flex:1}.difficulty-panel__threshold-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.difficulty-panel__threshold-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:hsl(var(--border) / .2)}.difficulty-panel__threshold-segment{height:100%;transition:width .2s ease}.difficulty-panel__threshold-segment--perfect{background:linear-gradient(90deg,#16a249,#1cca5b)}.difficulty-panel__threshold-segment--great{background:linear-gradient(90deg,#e7b008,#f7c222)}.difficulty-panel__threshold-segment--good{background:linear-gradient(90deg,#f97415,#fa8938)}.difficulty-panel__threshold-segment--ok{background:linear-gradient(90deg,#0da2e7,#26b2f2)}.difficulty-panel__actions{display:flex;justify-content:center;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .3)}.difficulty-panel__reset-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.difficulty-panel__reset-btn:hover{background:hsl(var(--surface-2));border-color:hsl(var(--border));color:hsl(var(--foreground))}.difficulty-panel__reset-btn:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.difficulty-panel__reset-icon{width:.875rem;height:.875rem}@media (max-width: 480px){.difficulty-panel__overlay{padding:0;align-items:flex-end}.difficulty-panel{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;animation:difficulty-panel-slide-up-mobile .3s ease-out}@keyframes difficulty-panel-slide-up-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.difficulty-panel__header{padding:.875rem 1rem}.difficulty-panel__content{padding:1rem;gap:1rem}.difficulty-panel__thresholds-list{grid-template-columns:1fr;gap:.375rem}.difficulty-panel__threshold-item{padding:.25rem .375rem}}@media (max-width: 360px){.difficulty-panel__header{padding:.75rem}.difficulty-panel__content{padding:.75rem;gap:.875rem}.difficulty-panel__section{gap:.5rem}.difficulty-panel__section-title{font-size:.625rem}.difficulty-panel__threshold-label{font-size:.5625rem}.difficulty-panel__threshold-value{font-size:.625rem}.difficulty-panel__threshold-bar{height:8px}.difficulty-panel__reset-btn{font-size:.6875rem;padding:.375rem .75rem}.difficulty-panel__toggle-row{padding:.5rem;gap:.75rem}.difficulty-panel__toggle-label{font-size:.75rem}.difficulty-panel__toggle-description{font-size:.625rem}.difficulty-panel__penalty-slider-label{font-size:.75rem}.difficulty-panel__penalty-slider-value{font-size:.6875rem}.difficulty-panel__groove-penalties-info{font-size:.625rem}}@media (prefers-reduced-motion: reduce){.difficulty-panel__overlay,.difficulty-panel{animation:none}.difficulty-panel__threshold-segment,.difficulty-panel__toggle,.difficulty-panel__toggle-slider{transition:none}}.difficulty-panel__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:hsl(var(--surface-2) / .3);border-radius:var(--radius);border:1px solid hsl(var(--border) / .3)}.difficulty-panel__toggle-info{flex:1;min-width:0}.difficulty-panel__toggle-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.25rem}.difficulty-panel__toggle-description{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.difficulty-panel__toggle{position:relative;display:inline-flex;width:2.75rem;height:1.5rem;flex-shrink:0;background-color:hsl(var(--input));border-radius:9999px;transition:background-color .15s ease;cursor:pointer;border:none;padding:0}.difficulty-panel__toggle:hover{background-color:hsl(var(--muted))}.difficulty-panel__toggle:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.difficulty-panel__toggle--active{background-color:hsl(var(--primary))}.difficulty-panel__toggle--active:hover{background-color:hsl(var(--primary) / .9)}.difficulty-panel__toggle-slider{position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px hsl(var(--foreground) / .1);transition:transform .15s ease}.difficulty-panel__toggle--active .difficulty-panel__toggle-slider{transform:translate(1.25rem)}.difficulty-panel__section-description{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0}.difficulty-panel__groove-penalties{display:flex;flex-direction:column;gap:.75rem}.difficulty-panel__groove-penalties-preset{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:hsl(var(--surface-2) / .3);border-radius:var(--radius);border:1px solid hsl(var(--border) / .3)}.difficulty-panel__groove-penalties-preset-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.difficulty-panel__groove-penalties-preset-values{font-size:.6875rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}.difficulty-panel__groove-penalties-custom{display:flex;flex-direction:column;gap:1rem}.difficulty-panel__penalty-slider{display:flex;flex-direction:column;gap:.5rem}.difficulty-panel__penalty-slider-header{display:flex;align-items:center;justify-content:space-between}.difficulty-panel__penalty-slider-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.difficulty-panel__penalty-slider-value{font-size:.75rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .5rem;border-radius:var(--radius)}.difficulty-panel__penalty-slider-input{width:100%;height:6px;border-radius:3px;background:hsl(var(--surface-2));-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none}.difficulty-panel__penalty-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:hsl(var(--primary));border:2px solid hsl(var(--background));box-shadow:0 1px 3px hsl(var(--foreground) / .2);cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.difficulty-panel__penalty-slider-input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px hsl(var(--foreground) / .3)}.difficulty-panel__penalty-slider-input::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));border:2px solid hsl(var(--background));box-shadow:0 1px 3px hsl(var(--foreground) / .2);cursor:pointer;-moz-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.difficulty-panel__penalty-slider-input::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px hsl(var(--foreground) / .3)}.difficulty-panel__penalty-slider-input:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.difficulty-panel__penalty-slider-labels{display:flex;justify-content:space-between;font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.difficulty-panel__groove-penalties-info{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.6;padding:.625rem .75rem;background:hsl(var(--surface-2) / .2);border-radius:var(--radius);border:1px dashed hsl(var(--border) / .4)}.difficulty-panel__groove-penalties-info strong{color:hsl(var(--foreground));font-weight:600}.difficulty-selector{display:flex;flex-direction:column;gap:.5rem}.difficulty-selector__buttons{display:flex;gap:.5rem;flex-wrap:wrap}.difficulty-selector__btn{flex:1;min-width:4.5rem;padding:.625rem 1rem;border:2px solid transparent;border-radius:var(--radius);background:hsl(var(--surface-2));color:hsl(var(--foreground));font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease,box-shadow .15s ease;outline:none}.difficulty-selector__btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px hsl(var(--foreground) / .1)}.difficulty-selector__btn:active:not(:disabled){transform:translateY(0)}.difficulty-selector__btn:focus-visible{box-shadow:0 0 0 2px hsl(var(--ring)),0 0 0 4px hsl(var(--background))}.difficulty-selector__btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.difficulty-selector__btn-label{display:block;text-align:center;letter-spacing:.02em}.difficulty-selector__btn--easy{border-color:#16a2494d}.difficulty-selector__btn--easy:hover:not(:disabled){background:#16a24926;border-color:#16a24980}.difficulty-selector__btn--easy.difficulty-selector__btn--active{background:#16a24933;border-color:#16a249;color:#1cca5b;box-shadow:0 0 12px #16a2494d}.difficulty-selector__btn--medium{border-color:#e7b0084d}.difficulty-selector__btn--medium:hover:not(:disabled){background:#e7b00826;border-color:#e7b00880}.difficulty-selector__btn--medium.difficulty-selector__btn--active{background:#e7b00833;border-color:#e7b008;color:#f6bb09;box-shadow:0 0 12px #e7b0084d}.difficulty-selector__btn--hard{border-color:#ef43434d}.difficulty-selector__btn--hard:hover:not(:disabled){background:#ef434326;border-color:#ef434380}.difficulty-selector__btn--hard.difficulty-selector__btn--active{background:#ef434333;border-color:#ef4343;color:#f15b5b;box-shadow:0 0 12px #ef43434d}.difficulty-selector__btn--custom{border-color:#a855f74d}.difficulty-selector__btn--custom:hover:not(:disabled){background:#a855f726;border-color:#a855f780}.difficulty-selector__btn--custom.difficulty-selector__btn--active{background:#a855f733;border-color:#a855f7;color:#c185f9;box-shadow:0 0 12px #a855f74d}.difficulty-selector__btn--active{animation:difficulty-btn-pop .2s ease-out}@keyframes difficulty-btn-pop{0%{transform:scale(.95)}50%{transform:scale(1.02)}to{transform:scale(1)}}@media (max-width: 480px){.difficulty-selector__buttons{gap:.375rem}.difficulty-selector__btn{padding:.5rem .75rem;font-size:.8125rem;min-width:4rem}}@media (max-width: 360px){.difficulty-selector__btn{padding:.5rem;font-size:.75rem;min-width:3.5rem}}@media (prefers-reduced-motion: reduce){.difficulty-selector__btn{transition:none}.difficulty-selector__btn--active{animation:none}}.custom-threshold{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:hsl(var(--surface-2) / .3);border-radius:var(--radius);border:1px solid hsl(var(--border) / .3)}.custom-threshold__errors{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;background:#ef43431a;border:1px solid hsl(0 84% 60% / .3);border-radius:.375rem}.custom-threshold__error{font-size:.6875rem;color:#ef4343;font-weight:500}.custom-threshold__sliders{display:flex;flex-direction:column;gap:.75rem}.custom-threshold__row{display:flex;flex-direction:column;gap:.375rem}.custom-threshold__header{display:flex;justify-content:space-between;align-items:center}.custom-threshold__label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.custom-threshold__value-container{display:flex;align-items:center;gap:.375rem}.custom-threshold__value{font-size:.75rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground));background:hsl(var(--surface-2));padding:.125rem .5rem;border-radius:.25rem;box-shadow:inset 0 0 0 1px hsl(var(--border) / .3)}.custom-threshold__unit{font-size:.5625rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:.125rem}.custom-threshold__slider-container{display:flex;flex-direction:column;gap:.25rem}.custom-threshold__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:linear-gradient(to right,hsl(var(--primary) / .5) 0%,hsl(var(--primary) / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important;border-radius:3px;cursor:pointer;transition:background .1s ease}.custom-threshold__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:hsl(var(--primary));border-radius:50%;cursor:grab;margin-top:-6px;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 2px hsl(var(--background) / .4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.custom-threshold__slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 15px hsl(var(--primary) / .7)}.custom-threshold__slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}.custom-threshold__slider::-moz-range-thumb{width:18px;height:18px;background:hsl(var(--primary));border-radius:50%;border:none;cursor:grab;box-shadow:0 0 10px hsl(var(--primary) / .5),inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider::-moz-range-track{width:100%;height:6px;background:hsl(var(--border) / .5);border-radius:3px}.custom-threshold__slider::-moz-range-progress{background:hsl(var(--primary) / .5);border-radius:3px}.custom-threshold__slider:disabled{opacity:.5;cursor:not-allowed}.custom-threshold__slider:disabled::-webkit-slider-thumb{cursor:not-allowed;box-shadow:none}.custom-threshold__slider-marks{display:flex;justify-content:space-between;padding:0 .125rem}.custom-threshold__slider-mark{font-size:.5rem;font-family:ui-monospace,monospace;font-weight:600;color:hsl(var(--muted-foreground));opacity:.7}.custom-threshold__slider--perfect{--slider-color: 142 76% 36%;background:linear-gradient(to right,hsl(142 76% 36% / .5) 0%,hsl(142 76% 36% / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.custom-threshold__slider--perfect::-webkit-slider-thumb{background:#16a249;box-shadow:0 0 10px #16a24980,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--perfect::-webkit-slider-thumb:hover{box-shadow:0 0 15px #16a249b3}.custom-threshold__slider--perfect::-moz-range-thumb{background:#16a249;box-shadow:0 0 10px #16a24980,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--perfect::-moz-range-progress{background:#16a24980}.custom-threshold__slider--great{--slider-color: 45 93% 47%;background:linear-gradient(to right,hsl(45 93% 47% / .5) 0%,hsl(45 93% 47% / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.custom-threshold__slider--great::-webkit-slider-thumb{background:#e7b008;box-shadow:0 0 10px #e7b00880,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--great::-webkit-slider-thumb:hover{box-shadow:0 0 15px #e7b008b3}.custom-threshold__slider--great::-moz-range-thumb{background:#e7b008;box-shadow:0 0 10px #e7b00880,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--great::-moz-range-progress{background:#e7b00880}.custom-threshold__slider--good{--slider-color: 25 95% 53%;background:linear-gradient(to right,hsl(25 95% 53% / .5) 0%,hsl(25 95% 53% / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.custom-threshold__slider--good::-webkit-slider-thumb{background:#f97415;box-shadow:0 0 10px #f9741580,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--good::-webkit-slider-thumb:hover{box-shadow:0 0 15px #f97415b3}.custom-threshold__slider--good::-moz-range-thumb{background:#f97415;box-shadow:0 0 10px #f9741580,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--good::-moz-range-progress{background:#f9741580}.custom-threshold__slider--ok{--slider-color: 199 89% 48%;background:linear-gradient(to right,hsl(199 89% 48% / .5) 0%,hsl(199 89% 48% / .5) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)!important}.custom-threshold__slider--ok::-webkit-slider-thumb{background:#0da2e7;box-shadow:0 0 10px #0da2e780,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--ok::-webkit-slider-thumb:hover{box-shadow:0 0 15px #0da2e7b3}.custom-threshold__slider--ok::-moz-range-thumb{background:#0da2e7;box-shadow:0 0 10px #0da2e780,inset 0 0 0 2px hsl(var(--background) / .4)}.custom-threshold__slider--ok::-moz-range-progress{background:#0da2e780}.custom-threshold__visualization{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--background) / .3);border-radius:.375rem;border:1px solid hsl(var(--border) / .2)}.custom-threshold__viz-title{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground))}.custom-threshold__viz-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:hsl(var(--border) / .2)}.custom-threshold__viz-segment{height:100%;transition:width .2s ease}.custom-threshold__viz-segment--perfect{background:linear-gradient(90deg,#16a249,#1cca5b)}.custom-threshold__viz-segment--great{background:linear-gradient(90deg,#e7b008,#f7c222)}.custom-threshold__viz-segment--good{background:linear-gradient(90deg,#f97415,#fa8938)}.custom-threshold__viz-segment--ok{background:linear-gradient(90deg,#0da2e7,#26b2f2)}.custom-threshold__viz-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.custom-threshold__viz-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.5625rem;color:hsl(var(--muted-foreground))}.custom-threshold__viz-dot{width:8px;height:8px;border-radius:50%}.custom-threshold__viz-dot--perfect{background:#16a249}.custom-threshold__viz-dot--great{background:#e7b008}.custom-threshold__viz-dot--good{background:#f97415}.custom-threshold__viz-dot--ok{background:#0da2e7}.custom-threshold__help{font-size:.5625rem;color:hsl(var(--muted-foreground));opacity:.8;line-height:1.5;margin:0;font-style:italic}@media (max-width: 640px){.custom-threshold{padding:.5rem;gap:.75rem}.custom-threshold__sliders{gap:.625rem}.custom-threshold__row{gap:.25rem}.custom-threshold__label{font-size:.625rem}.custom-threshold__value{font-size:.6875rem;padding:.0625rem .375rem}.custom-threshold__unit{font-size:.5rem}.custom-threshold__slider{height:8px}.custom-threshold__slider::-webkit-slider-thumb{width:22px;height:22px;margin-top:-7px}.custom-threshold__slider::-moz-range-thumb{width:22px;height:22px}.custom-threshold__visualization{padding:.5rem}.custom-threshold__viz-bar{height:10px}.custom-threshold__viz-legend{gap:.375rem .75rem}.custom-threshold__viz-legend-item,.custom-threshold__help{font-size:.5rem}}@media (max-width: 400px){.custom-threshold{padding:.375rem;gap:.5rem}.custom-threshold__errors{padding:.375rem .5rem}.custom-threshold__error{font-size:.625rem}.custom-threshold__sliders{gap:.5rem}.custom-threshold__label{font-size:.5625rem}.custom-threshold__value{font-size:.625rem}.custom-threshold__slider-mark{font-size:.4375rem}.custom-threshold__viz-title{font-size:.5rem}.custom-threshold__viz-legend{gap:.25rem .5rem}}@media (hover: none) and (pointer: coarse){.custom-threshold__slider{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.custom-threshold__slider::-webkit-slider-thumb{width:28px;height:28px;margin-top:-11px}.custom-threshold__slider::-moz-range-thumb{width:28px;height:28px}}@media (prefers-reduced-motion: reduce){.custom-threshold__slider::-webkit-slider-thumb{-webkit-transition:none;transition:none}.custom-threshold__slider::-moz-range-thumb{-moz-transition:none;transition:none}.custom-threshold__viz-segment{transition:none}}.key-lane{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:60px;max-width:100px;min-height:0;overflow:hidden;background:hsl(var(--background) / .5);border-left:1px solid hsl(var(--border) / .3);border-right:1px solid hsl(var(--border) / .3);z-index:2}.key-lane:first-child{border-left:none}.key-lane:last-child{border-right:none}.key-lane--active{background:hsl(var(--background) / .7)}.key-lane--paused{opacity:.7}.key-lane--paused .key-lane-beat-inner,.key-lane--paused .key-lane-beat-hit-ring{animation-play-state:paused}.key-lane--paused .key-lane-feedback-flash,.key-lane--paused .key-lane-target-zone--feedback .key-lane-target-circle{animation-play-state:running!important}.key-lane-background{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.key-lane-divider{position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,hsl(var(--border) / 0),hsl(var(--border) / .3) 20%,hsl(var(--border) / .3) 80%,hsl(var(--border) / 0))}.key-lane-divider--left{left:0}.key-lane-divider--right{right:0}.key-lane--blue{--lane-color: hsl(210, 80%, 55%)}.key-lane--green{--lane-color: hsl(140, 70%, 45%)}.key-lane--red{--lane-color: hsl(0, 75%, 55%)}.key-lane--purple{--lane-color: hsl(280, 65%, 55%)}.key-lane--yellow{--lane-color: hsl(45, 90%, 50%)}.key-lane--orange{--lane-color: hsl(25, 90%, 50%)}.key-lane-beats-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:2}.key-lane-beat{position:absolute;left:50%;transform:translate(-50%,-50%);width:80%;aspect-ratio:1;max-width:50px;transition:opacity .15s ease}.key-lane-beat-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--lane-color);border-radius:50%;box-shadow:0 0 10px var(--lane-color);transition:transform .1s ease,box-shadow .1s ease}.key-lane-beat--upcoming .key-lane-beat-inner{animation:key-lane-beat-glow .8s ease-in-out infinite alternate}@keyframes key-lane-beat-glow{0%{box-shadow:0 0 10px var(--lane-color)}to{box-shadow:0 0 20px var(--lane-color),0 0 30px var(--lane-color)}}.key-lane-beat--hit-zone .key-lane-beat-inner{box-shadow:0 0 15px var(--lane-color),0 0 25px var(--lane-color);animation:key-lane-beat-pulse .3s ease-in-out infinite}@keyframes key-lane-beat-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.key-lane-beat--past{opacity:.6}.key-lane-beat--past.key-lane-beat--perfect .key-lane-beat-inner,.key-lane-beat--past.key-lane-beat--great .key-lane-beat-inner,.key-lane-beat--past.key-lane-beat--good .key-lane-beat-inner,.key-lane-beat--past.key-lane-beat--ok .key-lane-beat-inner{animation:key-lane-beat-fade-out-hit 1.2s ease-out forwards}@keyframes key-lane-beat-fade-out-hit{0%{opacity:1}50%{opacity:.8}to{opacity:0}}.key-lane-beat-symbol{font-size:1.25rem;font-weight:800;color:#fff;text-shadow:0 1px 3px hsl(0,0%,0% / .5);font-family:ui-monospace,monospace}.key-lane-beat-arrow{width:60%;height:60%;background:#fff;clip-path:polygon(50% 0%,100% 50%,70% 50%,70% 100%,30% 100%,30% 50%,0% 50%)}.key-lane-beat-arrow--up{transform:rotate(0)}.key-lane-beat-arrow--down{transform:rotate(180deg)}.key-lane-beat-arrow--left{transform:rotate(-90deg)}.key-lane-beat-arrow--right{transform:rotate(90deg)}.key-lane-beat-hit-ring{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--lane-color);border-radius:50%;animation:key-lane-hit-ring-expand .4s ease-out forwards}@keyframes key-lane-hit-ring-expand{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}.key-lane-beat--perfect .key-lane-beat-inner{background:#1cce5e;box-shadow:0 0 20px #1cce5e}.key-lane-beat--great .key-lane-beat-inner{background:#e7b008;box-shadow:0 0 18px #e7b008}.key-lane-beat--good .key-lane-beat-inner{background:#f97415;box-shadow:0 0 15px #f97415}.key-lane-beat--ok .key-lane-beat-inner{background:gray;box-shadow:0 0 12px gray}.key-lane-beat--wrong-key .key-lane-beat-inner{background:#ef4343;box-shadow:0 0 20px #ef4343;animation:key-lane-beat-wrong .3s ease-out}@keyframes key-lane-beat-wrong{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.key-lane-beat--miss .key-lane-beat-inner{background:#4d4d4d;box-shadow:none;opacity:.5}.key-lane-target-zone{position:absolute;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1}.key-lane--guitar .key-lane-target-zone{top:85%;transform:translate(-50%,-50%)}.key-lane--ddr .key-lane-target-zone{top:15%;transform:translate(-50%,-50%)}.key-lane-target-circle{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:3px solid var(--lane-color);border-radius:50%;background:hsl(var(--background) / .8);box-shadow:0 0 15px var(--lane-color),inset 0 0 10px var(--lane-color) / .3;transition:all .15s ease}.key-lane--guitar .key-lane-target-circle{width:44px;height:44px;border-radius:50%}.key-lane--ddr .key-lane-target-circle{width:48px;height:48px;border-radius:10px}.key-lane--active .key-lane-target-circle{box-shadow:0 0 20px var(--lane-color),inset 0 0 15px var(--lane-color) / .4}.key-lane-target-zone--feedback .key-lane-target-circle{animation:key-lane-target-pulse .2s ease-out}@keyframes key-lane-target-pulse{0%{transform:scale(1);box-shadow:0 0 20px var(--lane-color),inset 0 0 15px var(--lane-color) / .4}50%{transform:scale(1.15);box-shadow:0 0 30px var(--lane-color),inset 0 0 20px var(--lane-color) / .6}to{transform:scale(1);box-shadow:0 0 20px var(--lane-color),inset 0 0 15px var(--lane-color) / .4}}.key-lane-target-key{font-size:1.5rem;font-weight:800;color:var(--lane-color);font-family:ui-monospace,monospace;text-shadow:0 0 8px var(--lane-color)}.key-lane-target-arrow{width:24px;height:24px;background:var(--lane-color);clip-path:polygon(50% 0%,100% 50%,70% 50%,70% 100%,30% 100%,30% 50%,0% 50%);filter:drop-shadow(0 0 6px var(--lane-color))}.key-lane-target-arrow--up{transform:rotate(0)}.key-lane-target-arrow--down{transform:rotate(180deg)}.key-lane-target-arrow--left{transform:rotate(-90deg)}.key-lane-target-arrow--right{transform:rotate(90deg)}.key-lane-feedback-flash{position:absolute;top:0;right:0;bottom:0;left:0;animation:key-lane-feedback-flash .3s ease-out forwards;pointer-events:none}.key-lane-feedback-flash--perfect{background:radial-gradient(circle at center,hsl(142,76%,46% / .5) 0%,transparent 70%)}.key-lane-feedback-flash--great{background:radial-gradient(circle at center,hsl(45,93%,47% / .5) 0%,transparent 70%)}.key-lane-feedback-flash--good{background:radial-gradient(circle at center,hsl(25,95%,53% / .5) 0%,transparent 70%)}.key-lane-feedback-flash--ok{background:radial-gradient(circle at center,hsl(0,0%,50% / .5) 0%,transparent 70%)}.key-lane-feedback-flash--wrongKey{background:radial-gradient(circle at center,hsl(0,84%,60% / .6) 0%,transparent 70%)}.key-lane-feedback-flash--miss{background:radial-gradient(circle at center,hsl(0,0%,30% / .3) 0%,transparent 70%)}@keyframes key-lane-feedback-flash{0%{opacity:1}to{opacity:0}}.key-lane-label{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;opacity:.7}.key-lane--ddr{min-width:70px;max-width:90px}.key-lane--ddr .key-lane-beat-inner{border-radius:8px}.key-lane--ddr .key-lane-beat{max-width:45px}.key-lane--guitar{min-width:60px;max-width:85px}.key-lane--guitar .key-lane-beat-inner{border-radius:50%}.key-lane--guitar .key-lane-beat{max-width:44px}@media (max-width: 768px){.key-lane{min-width:45px;max-width:70px}.key-lane--ddr,.key-lane--guitar{min-width:50px;max-width:70px}.key-lane-target-circle{width:38px;height:38px}.key-lane--ddr .key-lane-target-circle{width:40px;height:40px}.key-lane--guitar .key-lane-target-circle{width:38px;height:38px}.key-lane-target-key{font-size:1.25rem}.key-lane-target-arrow{width:20px;height:20px}.key-lane-beat-symbol{font-size:1rem}}@media (max-width: 480px){.key-lane{min-width:35px;max-width:50px}.key-lane--ddr,.key-lane--guitar{min-width:40px;max-width:55px}.key-lane-target-circle{width:30px;height:30px}.key-lane--ddr .key-lane-target-circle{width:34px;height:34px}.key-lane--guitar .key-lane-target-circle{width:32px;height:32px}.key-lane-target-key{font-size:1rem}.key-lane-target-arrow{width:16px;height:16px}.key-lane-beat-symbol{font-size:.875rem}.key-lane-label{font-size:.5rem}}@media (prefers-reduced-motion: reduce){.key-lane-beat--upcoming .key-lane-beat-inner,.key-lane-beat--hit-zone .key-lane-beat-inner,.key-lane-beat--wrong-key .key-lane-beat-inner,.key-lane-target-zone--feedback{animation:none}.key-lane-beat--past,.key-lane-beat-hit-ring,.key-lane-feedback-flash{animation:none;opacity:0}}.bonus-notification{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.375rem .625rem;background:hsl(var(--cute-gold) / .15);border:1px solid hsl(var(--cute-gold) / .4);border-radius:.375rem;animation:bonus-notification-pop-in .3s cubic-bezier(.34,1.56,.64,1);margin-top:4px;width:175px}.bonus-notification--placeholder{background:hsl(var(--muted) / .3);border-color:hsl(var(--border) / .5);animation:none}.bonus-notification--placeholder .bonus-notification__xp{color:hsl(var(--muted-foreground))}.bonus-notification--placeholder .bonus-notification__detail{color:hsl(var(--muted-foreground) / .7)}@keyframes bonus-notification-pop-in{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.bonus-notification--exiting{animation:bonus-notification-fade-out .4s ease-in forwards}@keyframes bonus-notification-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.bonus-notification__icon{font-size:1rem;line-height:1}.bonus-notification__content{display:flex;align-items:baseline;gap:.375rem}.bonus-notification__xp{font-size:.875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--cute-gold));line-height:1.2}.bonus-notification__detail{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (max-width: 768px){.bonus-notification{padding:.25rem .5rem;gap:.375rem}.bonus-notification__icon{font-size:.875rem}.bonus-notification__xp{font-size:.75rem}.bonus-notification__detail{font-size:.5rem}}@media (max-width: 480px){.bonus-notification{padding:.25rem .375rem;gap:.25rem}.bonus-notification__icon{font-size:.75rem}.bonus-notification__xp{font-size:.625rem}.bonus-notification__detail{font-size:.4375rem}}@media (prefers-reduced-motion: reduce){.bonus-notification,.bonus-notification--exiting{animation:none}}.combo-feedback-display{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid hsl(var(--border) / .3)}.combo-feedback-score{display:flex;flex-direction:column;align-items:center;gap:2px}.combo-feedback-score-label{font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em}.combo-feedback-score-value{font-size:1.125rem;font-weight:800;font-family:ui-monospace,monospace;color:hsl(var(--cute-amber));text-shadow:0 0 8px hsl(var(--cute-amber) / .4)}.combo-feedback-stats{display:flex;align-items:center;gap:8px}.combo-feedback-combo{display:flex;align-items:baseline;gap:4px}.combo-feedback-combo-value{font-size:1rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));transition:color .2s ease,transform .2s ease}.combo-feedback-combo--good{color:hsl(var(--cute-green));transform:scale(1.05)}.combo-feedback-combo--great{color:hsl(var(--cute-yellow));transform:scale(1.1)}.combo-feedback-combo--epic{color:hsl(var(--cute-gold));transform:scale(1.15);text-shadow:0 0 10px hsl(var(--cute-gold) / .6);animation:combo-epic-pulse 1s ease-in-out infinite}@keyframes combo-epic-pulse{0%,to{opacity:1}50%{opacity:.85}}.combo-feedback-combo-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:lowercase}.combo-feedback-divider{font-size:.75rem;color:hsl(var(--border))}.combo-feedback-multiplier{display:flex;align-items:center}.combo-feedback-multiplier-value{font-size:.875rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));transition:color .2s ease,transform .2s ease}.combo-feedback-multiplier--yellow{color:hsl(var(--cute-yellow));transform:scale(1.05)}.combo-feedback-multiplier--orange{color:hsl(var(--cute-orange));transform:scale(1.1);text-shadow:0 0 6px hsl(var(--cute-orange) / .4)}.combo-feedback-multiplier--red{color:#e83030;transform:scale(1.15);text-shadow:0 0 8px hsl(0,80%,55% / .5);animation:multiplier-pulse 1.2s ease-in-out infinite}.combo-feedback-multiplier--gold{color:hsl(var(--cute-gold));transform:scale(1.2);text-shadow:0 0 12px hsl(var(--cute-gold) / .7);animation:multiplier-gold-pulse .8s ease-in-out infinite}@keyframes multiplier-pulse{0%,to{opacity:1;transform:scale(1.15)}50%{opacity:.9;transform:scale(1.1)}}@keyframes multiplier-gold-pulse{0%,to{opacity:1;transform:scale(1.2);text-shadow:0 0 12px hsl(var(--cute-gold) / .7)}50%{opacity:.85;transform:scale(1.15);text-shadow:0 0 18px hsl(var(--cute-gold) / .9)}}.combo-feedback--reset{animation:combo-reset .3s ease-out}@keyframes combo-reset{0%{opacity:1;transform:scale(1)}30%{opacity:.5;transform:scale(.95)}60%{opacity:.7;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width: 768px){.combo-feedback-score-value,.combo-feedback-combo-value{font-size:.875rem}.combo-feedback-combo-label{font-size:.5rem}.combo-feedback-multiplier-value{font-size:.75rem}.combo-feedback-stats{gap:6px}}@media (max-width: 480px){.combo-feedback-score-value{font-size:.75rem}.combo-feedback-score-label{font-size:.375rem}.combo-feedback-combo-value{font-size:.75rem}.combo-feedback-combo-label{font-size:.375rem}.combo-feedback-multiplier-value{font-size:.625rem}.combo-feedback-divider{font-size:.5rem}.combo-feedback-stats{gap:4px}}@media (prefers-reduced-motion: reduce){.combo-feedback-combo-value,.combo-feedback-multiplier-value{transition:none}.combo-feedback-combo--epic,.combo-feedback-multiplier--red,.combo-feedback-multiplier--gold,.combo-feedback--reset{animation:none}}.key-lane-view{position:relative;display:flex;flex-direction:column;width:100%;flex:1 1 auto;min-height:300px;max-height:500px;background:hsl(var(--surface-1));border-radius:12px;overflow:hidden;box-shadow:inset 0 2px 4px hsl(0,0%,0% / .1),0 4px 12px hsl(0,0%,0% / .15)}.key-lane-view--active{background:hsl(var(--surface-2))}.key-lane-view--paused{opacity:.8}.key-lane-view--paused .key-lane-beat,.key-lane-view--paused .key-lane-beat-inner,.key-lane-view--paused .key-lane-beat-hit-ring,.key-lane-view--paused .key-lane-target-zone{animation-play-state:paused!important}.key-lane-view--paused .key-lane-feedback-flash,.key-lane-view--paused .key-lane-target-zone--feedback,.key-lane-view--paused .key-lane-view-feedback-result,.key-lane-view--paused .key-lane-view-feedback-accuracy,.key-lane-view--paused .key-lane-view-feedback-offset{animation-play-state:running!important}.key-lane-view--empty{background:hsl(var(--surface-1) / .5)}.key-lane-view--ddr{--lane-count: 4}.key-lane-view--guitar-hero{--lane-count: 5}.key-lane-view-lanes{position:relative;display:flex;flex:1 1 auto;min-height:0;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.key-lane-view-grid-container{position:absolute;top:0;bottom:0;left:0;pointer-events:none;z-index:1}.key-lane-view-grid-line{position:absolute;left:0;right:0;height:1px;background:hsl(var(--muted-foreground) / .12);pointer-events:none}.key-lane-view-grid-line--measure-start{height:1px;background:hsl(var(--muted-foreground) / .25)}.key-lane-view-lanes--draggable{cursor:grab}.key-lane-view-lanes--dragging{cursor:grabbing}.key-lane-view-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:hsl(var(--surface-1) / .8);z-index:10}.key-lane-view-empty-text{font-size:1.125rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em}.key-lane-view-info{position:absolute;top:8px;right:12px;display:flex;gap:8px;z-index:5}.key-lane-view-info-style{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;background:hsl(var(--surface-2) / .8);padding:4px 8px;border-radius:4px}.key-lane-view-feedback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;padding:12px 16px;margin-left:16px;background:hsl(var(--surface-2) / .9);border-radius:12px;box-shadow:0 4px 16px hsl(0,0%,0% / .2);z-index:10;align-self:center}.key-lane-view-feedback-placeholder{display:flex;align-items:center;justify-content:center}.key-lane-view-feedback-hint{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.key-lane-view-feedback-result{display:flex;flex-direction:column;align-items:center;gap:4px}.key-lane-view-feedback-accuracy{font-size:1.25rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;animation:key-lane-view-accuracy-pop .3s ease-out}@keyframes key-lane-view-accuracy-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.key-lane-view-feedback-offset{font-size:1.25rem;font-weight:600;font-family:ui-monospace,monospace;background:hsl(var(--background) / .6);padding:.125rem .5rem;border-radius:.25rem;animation:key-lane-view-offset-slide .3s ease-out}.key-lane-view-feedback-offset--early{color:#30abe8}.key-lane-view-feedback-offset--late{color:#e87d30}@keyframes key-lane-view-offset-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.key-lane-view-feedback-result--perfect{--feedback-color: hsl(142, 76%, 46%)}.key-lane-view-feedback-result--great{--feedback-color: hsl(45, 93%, 47%)}.key-lane-view-feedback-result--good{--feedback-color: hsl(25, 95%, 53%)}.key-lane-view-feedback-result--ok{--feedback-color: hsl(0, 0%, 60%)}.key-lane-view-feedback-result--miss{--feedback-color: hsl(0, 0%, 40%)}.key-lane-view-feedback-result--wrongKey{--feedback-color: hsl(0, 84%, 60%)}.key-lane-view-feedback-result .key-lane-view-feedback-accuracy,.key-lane-view-feedback-result .key-lane-view-feedback-offset{color:var(--feedback-color);text-shadow:0 0 10px var(--feedback-color)}.key-lane-view-hint{position:absolute;bottom:80px;left:50%;transform:translate(-50%);z-index:5}.key-lane-view-hint-text{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--surface-2) / .9);padding:6px 12px;border-radius:6px;white-space:nowrap}.key-lane-view-mismatch{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15}.key-lane-view-mismatch-text{font-size:.875rem;font-weight:600;color:#f2b90d;background:hsl(var(--surface-2) / .95);padding:12px 20px;border-radius:8px;white-space:nowrap;border:2px solid hsl(45,90%,50% / .5);box-shadow:0 4px 12px hsl(0,0%,0% / .3);animation:key-lane-view-mismatch-pulse 1.5s ease-in-out infinite}@keyframes key-lane-view-mismatch-pulse{0%,to{opacity:1}50%{opacity:.7}}.key-lane-view-any-notes-overlay{position:absolute;top:0;bottom:0;left:0;pointer-events:none;z-index:3}.key-lane-view-any-note{position:absolute;left:4px;right:4px;width:calc(100% - 8px);height:44px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#a73cdd,#30abe8,#22c358);border-radius:6px;box-shadow:0 2px 8px hsl(0,0%,0% / .3),inset 0 1px hsl(0,0%,100% / .3);transition:opacity .15s ease-out}.key-lane-view-any-note-label{font-size:.5rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.1em;text-shadow:0 1px 2px hsl(0,0%,0% / .5)}.key-lane-view-any-note--hit{animation:key-lane-view-any-note-hit .3s ease-out forwards}@keyframes key-lane-view-any-note-hit{0%{opacity:1}50%{opacity:.8}to{opacity:0}}.key-lane-view-any-note--missed{opacity:.3;background:#666}.key-lane-view-any-note--perfect{background:linear-gradient(135deg,#1cce5e,#17cf91);box-shadow:0 0 20px hsl(142,76%,46% / .6),0 2px 8px hsl(0,0%,0% / .3),inset 0 1px hsl(0,0%,100% / .3)}.key-lane-view-any-note--great{background:linear-gradient(135deg,#e7b008,#f2cc0d);box-shadow:0 0 15px hsl(45,93%,47% / .5),0 2px 8px hsl(0,0%,0% / .3),inset 0 1px hsl(0,0%,100% / .3)}.key-lane-view-any-note--good{background:linear-gradient(135deg,#f97415,#f2800d)}.key-lane-view-any-note--ok{background:#999}@media (max-width: 768px){.key-lane-view{min-height:250px;max-height:400px;border-radius:8px}.key-lane-view-empty-text{font-size:.875rem}.key-lane-view-info-style{font-size:.5rem;padding:3px 6px}.key-lane-view-hint{bottom:70px}.key-lane-view-hint-text{font-size:.625rem;padding:4px 8px}.key-lane-view-mismatch-text{font-size:.75rem;padding:8px 14px}.key-lane-view-feedback{min-width:60px;padding:8px 12px;margin-left:12px}.key-lane-view-feedback-accuracy{font-size:.875rem}.key-lane-view-feedback-offset{font-size:1rem}.key-lane-view-feedback-hint{font-size:.625rem}}@media (max-width: 480px){.key-lane-view{min-height:200px;max-height:320px;border-radius:6px}.key-lane-view-empty-text{font-size:.75rem}.key-lane-view-info{top:6px;right:8px}.key-lane-view-info-style{font-size:.5rem;padding:2px 4px}.key-lane-view-hint{bottom:60px}.key-lane-view-hint-text{font-size:.5rem;padding:3px 6px}.key-lane-view-mismatch-text{font-size:.625rem;padding:6px 10px}.key-lane-view-feedback{min-width:50px;padding:6px 8px;margin-left:8px;border-radius:8px}.key-lane-view-feedback-accuracy{font-size:.75rem}.key-lane-view-feedback-offset{font-size:.875rem}.key-lane-view-feedback-hint{font-size:.5rem}}@media (prefers-reduced-motion: reduce){.key-lane-view{transition:none}}.groove-meter{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--background) / .6);border-radius:.5rem;border:1px solid hsl(var(--border) / .3);will-change:contents;transform:translateZ(0)}.groove-meter__tier-row{display:flex;align-items:center;justify-content:center;margin-bottom:-.25rem;gap:.5rem}.groove-meter__tier-label{font-size:1.5rem;font-weight:900;font-family:ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease,color .3s ease,text-shadow .3s ease;will-change:transform,color,text-shadow}.groove-meter__tier-label--animating{animation:tier-up-bounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes tier-up-bounce{0%{transform:scale(1.5);opacity:.5}40%{transform:scale(.9)}60%{transform:scale(1.15)}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.groove-meter__tier-label--d{color:#06b6d4;text-shadow:0 0 10px rgba(6,182,212,.5);animation:groove-tier-d-pulse 2s ease-in-out infinite}@keyframes groove-tier-d-pulse{0%,to{text-shadow:0 0 10px rgba(6,182,212,.5)}50%{text-shadow:0 0 15px rgba(6,182,212,.7)}}.groove-meter__tier-label--c{color:#3b82f6;text-shadow:0 0 8px rgba(59,130,246,.4)}.groove-meter__tier-label--b{color:#22c55e;text-shadow:0 0 10px rgba(34,197,94,.5)}.groove-meter__tier-label--a{color:#f97316;text-shadow:0 0 12px rgba(249,115,22,.6)}.groove-meter__tier-label--s{color:#ef4444;text-shadow:0 0 15px rgba(239,68,68,.7),0 0 25px rgba(239,68,68,.4)}.groove-meter__tier-label--ss{background:linear-gradient(135deg,#fbbf24,#a855f7,#fbbf24);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:ss-gradient-shift 2s ease infinite;text-shadow:none;filter:drop-shadow(0 0 10px rgba(251,191,36,.6)) drop-shadow(0 0 20px rgba(168,85,247,.4))}@keyframes ss-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.groove-meter__tier-label--platinum{background:linear-gradient(90deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#54a0ff,#5f27cd,#ff6b6b);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:platinum-rainbow 3s linear infinite;text-shadow:none;filter:drop-shadow(0 0 15px rgba(255,255,255,.8)) drop-shadow(0 0 30px rgba(255,107,107,.5))}@keyframes platinum-rainbow{0%{background-position:0% 50%}to{background-position:300% 50%}}.groove-meter__bar-container{height:1.25rem;background:hsl(var(--surface-2) / .5);border-radius:.625rem;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0003}.groove-meter__tier-flash{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:tier-flash .5s ease-out forwards;pointer-events:none}@keyframes tier-flash{0%{transform:translate(-100%);opacity:1}to{transform:translate(100%);opacity:0}}.groove-meter__fill{height:100%;border-radius:.625rem;transition:width .15s ease-out,background-color .4s ease,box-shadow .4s ease;position:relative;min-width:2px;will-change:width,background-color,box-shadow;transform:translateZ(0)}.groove-meter__fill--tier-d{background:linear-gradient(90deg,#22d3ee,#06b6d4)}.groove-meter__fill--tier-c{background:linear-gradient(90deg,#2563eb,#3b82f6)}.groove-meter__fill--tier-b{background:linear-gradient(90deg,#16a34a,#22c55e);box-shadow:0 0 8px #22c55e66}.groove-meter__fill--tier-a{background:linear-gradient(90deg,#ea580c,#f97316);box-shadow:0 0 12px #f9731680}.groove-meter__fill--tier-s{background:linear-gradient(90deg,#dc2626,#ef4444);box-shadow:0 0 15px #ef444499;animation:groove-pulse .8s ease-in-out infinite}.groove-meter__fill--tier-ss{background:linear-gradient(90deg,#d97706,#fbbf24,#a855f7,#fbbf24);background-size:300% 100%;box-shadow:0 0 15px #fbbf2499,0 0 25px #a855f766;animation:groove-blaze .6s ease-in-out infinite,groove-glow 1.2s ease-in-out infinite}.groove-meter__fill--tier-platinum{background:linear-gradient(90deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3,#54a0ff,#ff6b6b);background-size:400% 100%;box-shadow:0 0 20px #ffffffb3,0 0 35px #ff6b6b80,0 0 50px #feca574d;animation:groove-blaze .4s ease-in-out infinite,groove-glow .8s ease-in-out infinite;filter:brightness(1.1)}@keyframes groove-pulse{0%,to{box-shadow:0 0 8px #ef444499}50%{box-shadow:0 0 16px #ef4444e6}}@keyframes groove-blaze{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes groove-glow{0%,to{box-shadow:0 0 10px #fbbf24b3,0 0 20px #fbbf2480,0 0 30px #fbbf244d;filter:brightness(1)}50%{box-shadow:0 0 15px #fbbf24e6,0 0 30px #fbbf24b3,0 0 45px #fbbf2480;filter:brightness(1.1)}}.groove-meter__info{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.groove-meter__direction{display:flex;align-items:center;gap:.375rem;padding:.125rem .375rem;border-radius:.25rem;transition:background-color .3s ease}.groove-meter__direction-icon{font-size:1rem;font-weight:700;line-height:1;transition:transform .3s ease,opacity .15s ease;will-change:transform,opacity;transform:translateZ(0)}.groove-meter__direction-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:opacity .15s ease;will-change:opacity}.groove-meter__direction--animating{animation:direction-bg-shift .4s ease}@keyframes direction-bg-shift{0%{background-color:transparent}30%{background-color:hsl(var(--foreground) / .15)}to{background-color:transparent}}.groove-meter__direction-label--animating{animation:label-fade .4s ease}@keyframes label-fade{0%{opacity:0;transform:translateY(-4px)}30%{opacity:0;transform:translateY(-4px)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}.groove-meter__direction-icon--animating{animation:icon-rotate .4s ease}@keyframes icon-rotate{0%{opacity:0;transform:scale(.5) rotate(-90deg)}30%{opacity:.5;transform:scale(.8) rotate(-45deg)}60%{opacity:1;transform:scale(1.1) rotate(10deg)}80%{transform:scale(1) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.groove-meter__direction--push .groove-meter__direction-icon,.groove-meter__direction--push .groove-meter__direction-label{color:#60a5fa}.groove-meter__direction--pull .groove-meter__direction-icon,.groove-meter__direction--pull .groove-meter__direction-label{color:#fb923c}.groove-meter__direction--neutral .groove-meter__direction-icon,.groove-meter__direction--neutral .groove-meter__direction-label{color:#fbbf24}.groove-meter__streak{display:flex;align-items:baseline;gap:.25rem}.groove-meter__streak-value{font-size:1.25rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground));line-height:1}.groove-meter__streak-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.groove-meter--compact{flex-direction:row;align-items:center;gap:.75rem;padding:.5rem .75rem}.groove-meter--compact .groove-meter__bar-container{flex:1;height:.75rem;min-width:80px}.groove-meter--compact .groove-meter__info{gap:.5rem;flex-shrink:0}.groove-meter--compact .groove-meter__direction{gap:.25rem;padding:.0625rem .25rem}.groove-meter--compact .groove-meter__direction-icon{font-size:.875rem}.groove-meter--compact .groove-meter__direction-label{font-size:.625rem}.groove-meter--compact .groove-meter__streak-value{font-size:1rem}.groove-meter--compact .groove-meter__streak-label{font-size:.5rem}@media (max-width: 640px){.groove-meter{padding:.5rem;gap:.375rem}.groove-meter__bar-container{height:1rem}.groove-meter__info{gap:.5rem}.groove-meter__direction-icon{font-size:.875rem}.groove-meter__direction-label{font-size:.625rem}.groove-meter__streak-value{font-size:1rem}.groove-meter__streak-label{font-size:.5rem}.groove-meter--compact{padding:.375rem .5rem;gap:.5rem}.groove-meter--compact .groove-meter__bar-container{height:.625rem;min-width:60px}}@media (max-width: 400px){.groove-meter{padding:.375rem;gap:.25rem}.groove-meter__bar-container{height:.875rem}.groove-meter__direction-icon{font-size:.75rem}.groove-meter__direction-label{font-size:.5rem}.groove-meter__streak-value{font-size:.875rem}.groove-meter__streak-label{display:none}.groove-meter--compact{padding:.25rem .375rem;gap:.375rem}.groove-meter--compact .groove-meter__bar-container{height:.5rem;min-width:50px}.groove-meter--compact .groove-meter__direction-label{display:none}}.groove-meter__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.groove-meter__bonus-placeholder{min-width:100px;display:flex;align-items:center;justify-content:flex-start}.groove-meter__bonus-placeholder--left{flex:1;justify-content:flex-start}.groove-meter__bonus-placeholder--right{flex:1;min-width:100px;justify-content:flex-end}.groove-meter__bonus-placeholder-content{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:hsl(var(--surface-2) / .3);border-radius:.375rem;border:1px solid hsl(var(--border) / .2)}.groove-meter__bonus-placeholder-text{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground) / .6)}.groove-meter__bonus-placeholder-value{font-size:.625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground) / .4)}.groove-meter__bonus--inline{margin-top:0;padding:.25rem .5rem;gap:.375rem}.groove-meter__bonus--inline .groove-meter__bonus-xp{font-size:.75rem}.groove-meter__bonus{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;margin-top:.5rem;background:linear-gradient(135deg,#a855f733,#8b5cf633);border-radius:.5rem;border:1px solid rgba(168,85,247,.5);animation:groove-bonus-enter .4s ease-out,groove-bonus-sparkle 1.5s ease-in-out infinite;will-change:transform,opacity;transform:translateZ(0)}.groove-meter__bonus--placeholder{background:hsl(var(--surface-2) / .3);border-color:hsl(var(--border) / .2);animation:none;will-change:auto}.groove-meter__bonus--placeholder .groove-meter__bonus-icon{opacity:.4;animation:none}.groove-meter__bonus--placeholder .groove-meter__bonus-xp--placeholder{color:hsl(var(--muted-foreground) / .6)}@keyframes groove-bonus-enter{0%{opacity:0;transform:translateY(-.5rem) scale(.8)}60%{opacity:1;transform:translateY(.125rem) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes groove-bonus-sparkle{0%,to{box-shadow:0 0 8px #a855f766}50%{box-shadow:0 0 16px #a855f7b3,0 0 24px #fbbf244d}}.groove-meter__bonus-icon{font-size:1rem;line-height:1;animation:groove-bonus-icon-pulse .8s ease-in-out infinite}@keyframes groove-bonus-icon-pulse{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(5deg)}50%{transform:scale(1) rotate(0)}75%{transform:scale(1.2) rotate(-5deg)}}.groove-meter__bonus-content{display:flex;flex-direction:column;gap:.125rem}.groove-meter__bonus-xp{font-size:.875rem;font-weight:700;font-family:ui-monospace,monospace;color:#a855f7;line-height:1}.groove-meter__bonus-detail{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.groove-meter--compact .groove-meter__bonus{padding:.25rem .5rem;margin-top:.375rem;gap:.375rem}.groove-meter--compact .groove-meter__bonus-icon,.groove-meter--compact .groove-meter__bonus-xp{font-size:.75rem}.groove-meter--compact .groove-meter__bonus-detail{font-size:.4375rem}@media (max-width: 640px){.groove-meter__bonus{padding:.25rem .5rem;gap:.375rem}.groove-meter__bonus-icon{font-size:.875rem}.groove-meter__bonus-xp{font-size:.75rem}.groove-meter__bonus-detail{font-size:.4375rem}}@media (max-width: 400px){.groove-meter__bonus{padding:.1875rem .375rem;gap:.25rem}.groove-meter__bonus-icon{font-size:.75rem}.groove-meter__bonus-xp{font-size:.625rem}.groove-meter__bonus-detail{display:none}}@media (max-width: 640px){.groove-meter__bonus-placeholder{min-width:80px}.groove-meter__bonus-placeholder-content{padding:.1875rem .375rem;gap:.25rem}.groove-meter__bonus-placeholder-text,.groove-meter__bonus-placeholder-value{font-size:.5rem}.groove-meter__bonus--inline{padding:.1875rem .375rem}.groove-meter__bonus--inline .groove-meter__bonus-xp{font-size:.625rem}}@media (max-width: 400px){.groove-meter__bonus-placeholder{min-width:60px}.groove-meter__bonus-placeholder-text{display:none}.groove-meter__bonus-placeholder-content{padding:.125rem .25rem}.groove-meter__bonus-placeholder-value{font-size:.5rem}.groove-meter__bonus--inline{padding:.125rem .25rem;gap:.25rem}.groove-meter__bonus--inline .groove-meter__bonus-icon{font-size:.625rem}.groove-meter__bonus--inline .groove-meter__bonus-xp{font-size:.5rem}}.beat-practice-view-mode-container{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-practice-view-mode-header{display:flex;align-items:center;gap:.5rem}.beat-practice-view-mode-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.beat-practice-view-mode-title{font-size:.75rem;font-weight:700;color:hsl(var(--foreground));letter-spacing:.03em}.beat-practice-view-mode-chart-style{margin-left:auto;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--cute-green));background:hsl(var(--cute-green) / .15);padding:.125rem .375rem;border-radius:.25rem;border:1px solid hsl(var(--cute-green) / .3)}.beat-practice-view-mode-toggles{display:flex;gap:.375rem}.beat-practice-view-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:hsl(var(--muted-foreground))}.beat-practice-view-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.beat-practice-view-toggle:active:not(:disabled){transform:scale(.98)}.beat-practice-view-toggle:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.beat-practice-view-toggle--active{background:linear-gradient(135deg,#a855f72e,#a855f71f);border-color:#a855f7;box-shadow:0 0 12px #a855f733;color:#c185f9}.beat-practice-view-toggle--active:hover:not(:disabled){background:linear-gradient(135deg,#a855f738,#a855f729);box-shadow:0 0 16px #a855f74d}.beat-practice-view-toggle:disabled{opacity:.5;cursor:not-allowed}.beat-practice-view-toggle--disabled:not(.beat-practice-view-toggle--active){opacity:.5;background:hsl(var(--surface-2) / .3)}.beat-practice-view-toggle-text{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.beat-practice-view-toggle-indicator{font-size:.5rem;color:hsl(var(--cute-amber, 38 92% 50%))}.beat-practice-view-mode-description{font-size:.5625rem;color:hsl(var(--muted-foreground));font-style:italic}.beat-practice-view-mode-warning{color:hsl(var(--cute-amber, 38 92% 50%));font-weight:500}@media (max-width: 640px){.beat-practice-view-mode-container{padding:.5rem;gap:.25rem}.beat-practice-view-mode-title{font-size:.6875rem}.beat-practice-view-mode-chart-style{font-size:.5rem;padding:.0625rem .25rem}.beat-practice-view-toggle{padding:.375rem .5rem}.beat-practice-view-toggle-text{font-size:.625rem}.beat-practice-view-mode-description{font-size:.5rem}}@media (max-width: 400px){.beat-practice-view-mode-container{padding:.375rem}.beat-practice-view-toggle{padding:.25rem .375rem}.beat-practice-view-toggle-text{font-size:.5625rem}.beat-practice-view-mode-description{font-size:.4375rem}}.rhythm-xp-stats{display:contents}.rhythm-xp-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem .625rem;background:hsl(var(--background) / .5);border-radius:.375rem;border:1px solid hsl(var(--border) / .3);min-width:0}.rhythm-xp-stat-value--score{color:hsl(var(--cute-amber))}.rhythm-xp-stat-value--xp{color:hsl(var(--cute-cyan));font-weight:600}.rhythm-xp-stat-value--combo{color:hsl(var(--muted-foreground));transition:color .2s ease,transform .2s ease}.rhythm-xp-stat-value--combo-active{color:hsl(var(--cute-green));transform:scale(1.1)}.rhythm-xp-stat-value--multiplier{color:hsl(var(--muted-foreground));transition:color .2s ease,transform .2s ease}.rhythm-xp-stat-value--multiplier-active{color:hsl(var(--cute-purple));transform:scale(1.1);animation:multiplier-pulse 1.5s ease-in-out infinite}.rhythm-xp-pulse{animation:rhythm-xp-pulse-effect .3s ease-out}@keyframes rhythm-xp-pulse-effect{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.rhythm-xp-flash--perfect{animation:rhythm-xp-flash-perfect .3s ease-out}@keyframes rhythm-xp-flash-perfect{0%{color:#a5f3c2;text-shadow:0 0 8px hsl(142,76%,60%)}to{color:inherit;text-shadow:none}}.rhythm-xp-flash--great{animation:rhythm-xp-flash-great .3s ease-out}@keyframes rhythm-xp-flash-great{0%{color:#93ecce;text-shadow:0 0 6px hsl(160,70%,55%)}to{color:inherit;text-shadow:none}}.rhythm-xp-flash--good{animation:rhythm-xp-flash-good .3s ease-out}@keyframes rhythm-xp-flash-good{0%{color:#f9dc86;text-shadow:0 0 6px hsl(45,90%,55%)}to{color:inherit;text-shadow:none}}.rhythm-xp-flash--ok{animation:rhythm-xp-flash-ok .3s ease-out}@keyframes rhythm-xp-flash-ok{0%{color:#f2c88c;text-shadow:0 0 5px hsl(35,80%,55%)}to{color:inherit;text-shadow:none}}.rhythm-xp-flash--miss{animation:rhythm-xp-flash-miss .3s ease-out}@keyframes rhythm-xp-flash-miss{0%{color:#e87d7d;text-shadow:0 0 6px hsl(0,70%,50%)}to{color:inherit;text-shadow:none}}@keyframes multiplier-pulse{0%,to{opacity:1}50%{opacity:.85}}@media (max-width: 768px){.rhythm-xp-stat{padding:.375rem .5rem}}.beat-practice-debug-panel{margin-top:1rem;padding:.75rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border) / .3);border-radius:.5rem;font-family:ui-monospace,monospace}.beat-practice-debug-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .2);font-size:.75rem;font-weight:700;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em}.beat-practice-debug-icon{width:1rem;height:1rem;color:hsl(var(--primary))}.beat-practice-debug-hint{font-size:.625rem;font-weight:400;color:hsl(var(--muted-foreground) / .7);margin-left:auto}.beat-practice-debug-session-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-top:.75rem;margin-bottom:.75rem;padding:.625rem;background:hsl(var(--surface-1) / .5);border-radius:.375rem;border:1px solid hsl(var(--border) / .2)}.beat-practice-debug-session-stat{display:flex;flex-direction:column;align-items:center;padding:.375rem .25rem;gap:.125rem}.beat-practice-debug-session-value{font-size:1rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--primary))}.beat-practice-debug-session-stat--xp{background:hsl(var(--accent-purple) / .1);border-radius:.25rem}.beat-practice-debug-session-value--xp{color:hsl(var(--accent-purple))}.beat-practice-debug-session-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));text-align:center}.beat-practice-debug-empty{text-align:center;padding:1rem;color:hsl(var(--muted-foreground) / .5);font-size:.75rem;font-style:italic}.beat-practice-debug-taps{display:flex;flex-direction:column;gap:.375rem;max-height:300px;overflow-y:auto}.beat-practice-debug-taps--virtualized{contain:strict;will-change:transform}.beat-practice-debug-taps--virtualized .beat-practice-debug-tap{min-height:120px;flex-shrink:0}.beat-practice-debug-tap{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .625rem;background:hsl(var(--surface-1));border-radius:.375rem;border:1px solid hsl(var(--border) / .3);border-left:3px solid currentColor}.beat-practice-debug-tap--perfect{color:#1cce5e}.beat-practice-debug-tap--great{color:#facc14}.beat-practice-debug-tap--good{color:#f59f0a}.beat-practice-debug-tap--miss{color:#ef4343}.beat-practice-debug-tap-main{display:flex;align-items:center;gap:.75rem}.beat-practice-debug-accuracy{font-size:.6875rem;font-weight:800;letter-spacing:.05em}.beat-practice-debug-offset{font-size:.875rem;font-weight:700}.beat-practice-debug-tap-details{display:flex;gap:1rem;font-size:.625rem;color:hsl(var(--muted-foreground))}.beat-practice-debug-tap-details span{opacity:.7}.beat-practice-debug-tap-xp{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.625rem}.beat-practice-debug-score{font-weight:600;color:hsl(var(--muted-foreground))}.beat-practice-debug-score--perfect{color:hsl(var(--accent-gold))}.beat-practice-debug-score--great{color:#16a249}.beat-practice-debug-score--good{color:#2463eb}.beat-practice-debug-score--ok{color:#f59f0a}.beat-practice-debug-score--miss,.beat-practice-debug-score--wrongKey{color:hsl(var(--destructive))}.beat-practice-debug-xp{color:hsl(var(--accent-purple));font-weight:500}.beat-practice-debug-multiplier{color:hsl(var(--muted-foreground));opacity:.5;font-size:.5625rem}.beat-practice-debug-multiplier--active{color:hsl(var(--accent-gold));opacity:1;font-weight:600}.beat-practice-debug-tap-visual{margin-top:.375rem}.beat-practice-debug-threshold-bar{position:relative;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;overflow:visible}.beat-practice-debug-zone{position:absolute;top:0;bottom:0}.beat-practice-debug-zone--miss-left{left:0;right:50%;background:hsl(0,84%,60% / .2);border-radius:.25rem 0 0 .25rem}.beat-practice-debug-zone--miss-left:after{content:"";position:absolute;top:0;bottom:0;left:100%;width:100%;background:hsl(0,84%,60% / .2);border-radius:0 .25rem .25rem 0}.beat-practice-debug-zone--ok{background:hsl(200,80%,55% / .25);border-radius:0}.beat-practice-debug-zone--good{background:hsl(38,92%,50% / .3);border-radius:0}.beat-practice-debug-zone--great{background:hsl(48,96%,53% / .35);border-radius:0}.beat-practice-debug-zone--perfect{background:hsl(142,76%,46% / .4);border-radius:0;z-index:1}.beat-practice-debug-center-line{position:absolute;top:-.125rem;bottom:-.125rem;left:50%;width:2px;background:hsl(var(--foreground) / .6);transform:translate(-50%);z-index:2}.beat-practice-debug-tap-marker{position:absolute;top:-.25rem;bottom:-.25rem;width:3px;background:hsl(var(--foreground));transform:translate(-50%);border-radius:1px;z-index:3;box-shadow:0 0 4px hsl(var(--foreground) / .5)}.beat-practice-debug-scale{display:flex;justify-content:space-between;margin-top:.125rem;font-size:.5rem;color:hsl(var(--muted-foreground) / .6)}.beat-practice-debug-scale span{font-family:ui-monospace,monospace}.beat-practice-debug-thresholds{margin-bottom:.75rem;padding:.625rem;background:hsl(var(--surface-1) / .5);border-radius:.375rem;border:1px solid hsl(var(--border) / .2)}.beat-practice-debug-thresholds-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground))}.beat-practice-debug-thresholds-icon{width:.875rem;height:.875rem;color:hsl(var(--primary))}.beat-practice-debug-thresholds-preset{margin-left:auto;padding:.125rem .375rem;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:.1875rem}.beat-practice-debug-thresholds-values{display:grid;grid-template-columns:repeat(4,1fr);gap:.375rem}.beat-practice-debug-threshold{display:flex;flex-direction:column;align-items:center;padding:.375rem .25rem;background:hsl(var(--surface-2));border-radius:.25rem;border-left:2px solid currentColor}.beat-practice-debug-threshold-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-bottom:.125rem}.beat-practice-debug-threshold-value{font-size:.6875rem;font-weight:700;font-family:ui-monospace,monospace}.beat-practice-debug-threshold--perfect{color:#1cce5e}.beat-practice-debug-threshold--great{color:#facc14}.beat-practice-debug-threshold--good{color:#f59f0a}.beat-practice-debug-threshold--ok,.beat-practice-debug-tap--ok{color:#30abe8}.beat-practice-difficulty--easy{background:#16a24926;border:1px solid hsl(142 76% 36% / .4);color:#1cca5b}.beat-practice-difficulty--medium{background:#e7b00826;border:1px solid hsl(45 93% 47% / .4);color:#f6bb09}.beat-practice-difficulty--hard{background:#ef434326;border:1px solid hsl(0 84% 60% / .4);color:#f15b5b}.beat-practice-difficulty--custom{background:#a855f726;border:1px solid hsl(271 91% 65% / .4);color:#c185f9}@media (max-width: 640px){.beat-practice-debug-session-stats{grid-template-columns:repeat(3,1fr)}.beat-practice-debug-session-value{font-size:.875rem}.beat-practice-debug-session-label{font-size:.5rem}.beat-practice-debug-thresholds-values{grid-template-columns:repeat(2,1fr)}.beat-practice-debug-threshold{padding:.25rem .125rem}.beat-practice-debug-threshold-label{font-size:.5rem}.beat-practice-debug-threshold-value{font-size:.625rem}.beat-practice-debug-threshold-bar{height:.375rem}.beat-practice-debug-scale{font-size:.4375rem}}@media (max-width: 400px){.beat-practice-debug-thresholds-header{font-size:.625rem;flex-wrap:wrap}.beat-practice-debug-thresholds-preset{margin-left:0;margin-top:.25rem}}.beat-practice-view{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .9),hsl(var(--surface-1) / .95));border-radius:1rem;border:1px solid hsl(var(--border) / .5);margin-top:.75rem;animation:beat-practice-fade-in .3s ease-out}@keyframes beat-practice-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.beat-practice-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .3)}.beat-practice-header-left{display:flex;align-items:center;gap:.5rem}.beat-practice-header-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.beat-practice-title{font-size:1rem;font-weight:700;color:hsl(var(--foreground))}.beat-practice-header-right{display:flex;align-items:center;gap:.5rem}.beat-practice-difficulty-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;border:1px solid transparent;margin-left:.5rem}.beat-practice-difficulty--easy{background:#16a24926;border-color:#16a24966;color:#1cca5b}.beat-practice-difficulty--medium{background:#e7b00826;border-color:#e7b00866;color:#f6bb09}.beat-practice-difficulty--hard{background:#ef434326;border-color:#ef434366;color:#f15b5b}.beat-practice-difficulty--custom{background:#a855f726;border-color:#a855f766;color:#c185f9}.beat-practice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.beat-practice-stats:has(.beat-practice-stat--subdivision){grid-template-columns:repeat(4,1fr)}.beat-practice-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:hsl(var(--background) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-practice-stat-value{font-size:1.5rem;font-weight:800;font-family:ui-monospace,monospace;color:hsl(var(--primary));line-height:1}.beat-practice-stat-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));margin-top:.25rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.beat-practice-stat-value--live{animation:bpm-pulse 2s ease-in-out infinite}@keyframes bpm-pulse{0%,to{opacity:1}50%{opacity:.85}}.beat-practice-bpm-indicator{font-size:.5rem;font-weight:500;text-transform:lowercase;color:hsl(var(--cute-green));background:hsl(var(--cute-green) / .1);padding:.125rem .25rem;border-radius:.25rem;animation:indicator-fade 1.5s ease-in-out infinite}@keyframes indicator-fade{0%,to{opacity:1}50%{opacity:.6}}.beat-practice-multi-tempo-indicator{font-size:.5625rem;font-weight:600;color:hsl(var(--cute-purple));background:hsl(var(--cute-purple) / .1);padding:.125rem .375rem;border-radius:.25rem;margin-top:.25rem;border:1px solid hsl(var(--cute-purple) / .3);white-space:nowrap}.beat-practice-stat--subdivision{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-quarter) / .05));border-color:hsl(var(--subdivision-quarter) / .2);transition:background .3s ease,border-color .3s ease}.beat-practice-stat-value--subdivision{font-size:1rem;text-transform:capitalize;color:hsl(var(--subdivision-quarter));transition:color .3s ease}.beat-practice-stat-value--subdivision-active{animation:subdivision-value-pulse 1.5s ease-in-out infinite}@keyframes subdivision-value-pulse{0%,to{opacity:1}50%{opacity:.8}}.beat-practice-subdivision-indicator{font-size:.5rem;font-weight:500;text-transform:lowercase;color:hsl(var(--subdivision-quarter));background:hsl(var(--subdivision-quarter) / .15);padding:.125rem .25rem;border-radius:.25rem;animation:indicator-fade 1.5s ease-in-out infinite;transition:color .3s ease,background .3s ease}.beat-practice-stat--subdivision[data-subdivision=quarter]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-quarter) / .05));border-color:hsl(var(--subdivision-quarter) / .2)}.beat-practice-stat--subdivision[data-subdivision=quarter] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-quarter))}.beat-practice-stat--subdivision[data-subdivision=quarter] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-quarter));background:hsl(var(--subdivision-quarter) / .15)}.beat-practice-stat--subdivision[data-subdivision=half]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-half) / .05));border-color:hsl(var(--subdivision-half) / .2)}.beat-practice-stat--subdivision[data-subdivision=half] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-half))}.beat-practice-stat--subdivision[data-subdivision=half] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-half));background:hsl(var(--subdivision-half) / .15)}.beat-practice-stat--subdivision[data-subdivision=eighth]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-eighth) / .05));border-color:hsl(var(--subdivision-eighth) / .2)}.beat-practice-stat--subdivision[data-subdivision=eighth] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-eighth))}.beat-practice-stat--subdivision[data-subdivision=eighth] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-eighth));background:hsl(var(--subdivision-eighth) / .15)}.beat-practice-stat--subdivision[data-subdivision=sixteenth]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-sixteenth) / .05));border-color:hsl(var(--subdivision-sixteenth) / .2)}.beat-practice-stat--subdivision[data-subdivision=sixteenth] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-sixteenth))}.beat-practice-stat--subdivision[data-subdivision=sixteenth] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-sixteenth));background:hsl(var(--subdivision-sixteenth) / .15)}.beat-practice-stat--subdivision[data-subdivision=triplet8]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-triplet8) / .05));border-color:hsl(var(--subdivision-triplet8) / .2)}.beat-practice-stat--subdivision[data-subdivision=triplet8] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-triplet8))}.beat-practice-stat--subdivision[data-subdivision=triplet8] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-triplet8));background:hsl(var(--subdivision-triplet8) / .15)}.beat-practice-stat--subdivision[data-subdivision=triplet4]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-triplet4) / .05));border-color:hsl(var(--subdivision-triplet4) / .2)}.beat-practice-stat--subdivision[data-subdivision=triplet4] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-triplet4))}.beat-practice-stat--subdivision[data-subdivision=triplet4] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-triplet4));background:hsl(var(--subdivision-triplet4) / .15)}.beat-practice-stat--subdivision[data-subdivision=dotted4]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-dotted4) / .05));border-color:hsl(var(--subdivision-dotted4) / .2)}.beat-practice-stat--subdivision[data-subdivision=dotted4] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-dotted4))}.beat-practice-stat--subdivision[data-subdivision=dotted4] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-dotted4));background:hsl(var(--subdivision-dotted4) / .15)}.beat-practice-stat--subdivision[data-subdivision=dotted8]{background:linear-gradient(135deg,hsl(var(--surface-2) / .5),hsl(var(--subdivision-dotted8) / .05));border-color:hsl(var(--subdivision-dotted8) / .2)}.beat-practice-stat--subdivision[data-subdivision=dotted8] .beat-practice-stat-value--subdivision{color:hsl(var(--subdivision-dotted8))}.beat-practice-stat--subdivision[data-subdivision=dotted8] .beat-practice-subdivision-indicator{color:hsl(var(--subdivision-dotted8));background:hsl(var(--subdivision-dotted8) / .15)}.beat-practice-progress-container{padding:.5rem 0}.beat-practice-progress-bar{position:relative;height:2rem;background:hsl(var(--background) / .5);border-radius:.5rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3);transition:border-color .2s ease,box-shadow .2s ease}.beat-practice-progress-bar:hover{border-color:hsl(var(--primary) / .5);box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.beat-practice-progress-bar--dragging{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.beat-practice-progress-track{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-2)),hsl(var(--surface-3)))}.beat-practice-progress-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .3),hsl(var(--primary) / .5));transition:width .05s linear;pointer-events:none}.beat-practice-progress-beats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.beat-practice-progress-beat{position:absolute;top:50%;transform:translateY(-50%);width:2px;height:6px;background:hsl(var(--muted-foreground) / .3);border-radius:1px}.beat-practice-progress-beat--downbeat{height:10px;width:3px;background:hsl(var(--primary) / .5)}.beat-practice-progress-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:hsl(var(--primary));border-radius:50%;box-shadow:0 2px 6px hsl(var(--primary) / .4);pointer-events:none;transition:transform .1s ease,box-shadow .1s ease}.beat-practice-progress-bar:hover .beat-practice-progress-handle,.beat-practice-progress-bar--dragging .beat-practice-progress-handle{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 3px 10px hsl(var(--primary) / .5)}.beat-practice-groove-row{display:flex;align-items:center;gap:.75rem}.beat-practice-groove-container{position:relative;flex:1}.beat-practice-groove-container--keylane{flex:none}.beat-practice-combo-feedback-row{display:flex;align-items:center;justify-content:center;padding:.75rem;background:linear-gradient(135deg,hsl(var(--surface-2) / .6),hsl(var(--surface-1) / .8));border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-practice-controls{display:flex;align-items:center;justify-content:center;gap:1rem}.beat-practice-play-button{min-width:8rem}.beat-practice-tap-area{position:relative;display:flex;align-items:center;justify-content:center;min-height:8rem;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--cute-purple) / .1));border:2px dashed hsl(var(--border) / .5);border-radius:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beat-practice-tap-area:hover{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .15));border-color:hsl(var(--primary) / .5)}.beat-practice-tap-area--active{border-style:solid;border-color:hsl(var(--primary))}.beat-practice-tap-instruction{display:flex;flex-direction:column;align-items:center;gap:.25rem}.beat-practice-tap-text{font-size:2rem;font-weight:900;color:hsl(var(--primary));letter-spacing:.1em}.beat-practice-tap-hint{font-size:.75rem;color:hsl(var(--muted-foreground))}.beat-practice-tap-feedback{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--feedback-color) / .2,var(--feedback-color) / .1);border-radius:1rem;animation:tap-feedback-pulse .5s ease-out}@keyframes tap-feedback-pulse{0%{transform:scale(.95);opacity:0}50%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.beat-practice-tap-accuracy{font-size:1.5rem;font-weight:900;color:var(--feedback-color);letter-spacing:.1em}.beat-practice-tap-offset{font-size:.875rem;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.beat-practice-stream-status{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:hsl(var(--surface-3) / .5);border-radius:.375rem}.beat-practice-stream-icon{width:1rem;height:1rem;color:hsl(var(--muted-foreground));transition:color .3s ease}.beat-practice-stream-icon--active{color:hsl(var(--cute-green));animation:pulse-icon 1s infinite}.beat-practice-stream-icon--paused{color:hsl(var(--cute-yellow));animation:none}@keyframes pulse-icon{0%,to{opacity:1}50%{opacity:.5}}.beat-practice-stream-label{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground))}@media (max-width: 640px){.beat-practice-view{padding:.25rem;gap:.375rem}.beat-practice-header{flex-wrap:wrap;gap:.5rem;padding-bottom:.5rem}.beat-practice-title{font-size:.875rem}.beat-practice-stream-toggle-container{padding:.5rem;gap:.25rem}.beat-practice-stream-toggle-label{font-size:.5rem}.beat-practice-stream-toggle{padding:.375rem .5rem}.beat-practice-stream-toggle-text{font-size:.625rem}.beat-practice-stream-toggle-description{font-size:.5rem}.beat-practice-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}.beat-practice-stats:has(.beat-practice-stat--subdivision){grid-template-columns:repeat(2,1fr)}.beat-practice-stat{padding:.5rem}.beat-practice-stat-value{font-size:1.25rem}.beat-practice-stat-label{font-size:.5625rem;flex-direction:column;gap:.125rem}.beat-practice-bpm-indicator{font-size:.4375rem;padding:.0625rem .1875rem}.beat-practice-multi-tempo-indicator{font-size:.4375rem;padding:.0625rem .25rem;margin-top:.125rem}.beat-practice-stat-value--subdivision{font-size:.875rem}.beat-practice-subdivision-indicator{font-size:.4375rem;padding:.0625rem .1875rem}.beat-practice-progress-bar{height:1.75rem}.beat-practice-progress-handle{width:12px;height:12px}.beat-practice-controls{gap:.75rem;flex-wrap:wrap}.beat-practice-play-button{min-width:6rem}.beat-practice-tap-area{min-height:6rem}.beat-practice-tap-text{font-size:1.5rem}.beat-practice-tap-hint{font-size:.625rem}.beat-practice-tap-accuracy{font-size:1.25rem}.beat-practice-tap-offset{font-size:.75rem}.beat-practice-stream-status{padding:.375rem;gap:.375rem}.beat-practice-stream-label{font-size:.625rem}}@media (max-width: 400px){.beat-practice-view{padding:.125rem;gap:.25rem;border-radius:.75rem}.beat-practice-header{flex-direction:column;align-items:flex-start}.beat-practice-header-right{width:100%;justify-content:flex-end}.beat-practice-stream-toggle-container{padding:.375rem}.beat-practice-stream-toggle{padding:.25rem .375rem}.beat-practice-stream-toggle-text{font-size:.5625rem}.beat-practice-stats{gap:.375rem}.beat-practice-stats:has(.beat-practice-stat--subdivision){grid-template-columns:repeat(2,1fr)}.beat-practice-stat{padding:.375rem}.beat-practice-stat-value{font-size:1rem}.beat-practice-stat-label{font-size:.5rem;flex-direction:column;gap:0}.beat-practice-bpm-indicator{font-size:.375rem;padding:.0625rem .125rem}.beat-practice-multi-tempo-indicator{font-size:.375rem;padding:.0625rem .1875rem}.beat-practice-stat-value--subdivision{font-size:.75rem}.beat-practice-subdivision-indicator{font-size:.375rem;padding:.0625rem .125rem}.beat-practice-progress-bar{height:1.5rem}.beat-practice-progress-handle{width:10px;height:10px}.beat-practice-progress-beat{width:1px;height:4px}.beat-practice-progress-beat--downbeat{height:8px;width:2px}.beat-practice-tap-area{min-height:5rem}.beat-practice-tap-text{font-size:1.25rem}.beat-practice-tap-accuracy{font-size:1rem}}@media (hover: none) and (pointer: coarse){.beat-practice-tap-area{min-height:10rem}.beat-practice-tap-text{font-size:2.5rem}.beat-practice-tap-hint{font-size:.875rem}.beat-practice-stat-value--live,.beat-practice-bpm-indicator,.beat-practice-subdivision-indicator,.beat-practice-stat-value--subdivision-active,.beat-practice-stream-icon--active{animation:none}.beat-practice-tap-feedback{will-change:transform,opacity}}.beat-practice-view .key-lane-view{min-height:400px;max-height:600px;flex:1}.beat-practice-view--lane-mode .key-lane-view{min-height:500px;max-height:none;flex:1}.exit-prompt-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:exit-prompt-fade-in .15s ease-out}@keyframes exit-prompt-fade-in{0%{opacity:0}to{opacity:1}}.exit-prompt-container{background:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .4);border-radius:.75rem;padding:1.5rem;max-width:360px;width:90%;box-shadow:0 20px 40px hsl(var(--background) / .5);animation:exit-prompt-slide-in .2s ease-out}@keyframes exit-prompt-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.exit-prompt-title{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));margin:0 0 1rem;text-align:center}.exit-prompt-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;padding:1rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.exit-prompt-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.exit-prompt-stat-value{font-size:1.25rem;font-weight:700;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.exit-prompt-stat--xp .exit-prompt-stat-value{color:hsl(var(--cute-green))}.exit-prompt-stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.exit-prompt-message{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;margin:0 0 1.25rem}.exit-prompt-actions{display:flex;flex-direction:column;gap:.5rem}.exit-prompt-btn{padding:.625rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.exit-prompt-btn:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.exit-prompt-btn--primary{background:hsl(var(--cute-green));color:hsl(var(--background));border-color:hsl(var(--cute-green))}.exit-prompt-btn--primary:hover{background:hsl(var(--cute-green) / .9);transform:translateY(-1px)}.exit-prompt-btn--danger{background:transparent;color:#ef4343;border-color:hsl(0,84%,60% / .4)}.exit-prompt-btn--danger:hover{background:hsl(0,84%,60% / .1);border-color:#ef4343}.exit-prompt-btn--secondary{background:transparent;color:hsl(var(--muted-foreground));border-color:hsl(var(--border) / .4)}.exit-prompt-btn--secondary:hover{background:hsl(var(--surface-2));border-color:hsl(var(--border))}@media (max-width: 400px){.exit-prompt-container{padding:1rem}.exit-prompt-title{font-size:1.125rem}.exit-prompt-summary{padding:.75rem;gap:.5rem}.exit-prompt-stat-value{font-size:1rem}.exit-prompt-stat-label{font-size:.5625rem}.exit-prompt-message{font-size:.75rem}.exit-prompt-btn{padding:.5rem .75rem;font-size:.8125rem}}.subdivision-buttons{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3);transition:border-color .2s ease,box-shadow .2s ease}.subdivision-buttons--active{border-color:hsl(var(--primary) / .4);box-shadow:0 0 12px hsl(var(--primary) / .1)}.subdivision-buttons-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.subdivision-buttons-group{display:flex;gap:.375rem}.subdivision-buttons-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .375rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .15s ease;color:hsl(var(--muted-foreground));min-height:3rem}.subdivision-buttons-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border));transform:translateY(-1px)}.subdivision-buttons-btn:active:not(:disabled){transform:translateY(0);transform:scale(.98)}.subdivision-buttons-btn:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.subdivision-buttons-btn:disabled{opacity:.5;cursor:not-allowed}.subdivision-buttons-btn--disabled:not(.subdivision-buttons-btn--active){opacity:.5;background:hsl(var(--surface-2) / .3)}.subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.subdivision-buttons-btn--active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}.subdivision-buttons-btn-dots{display:flex;gap:.125rem;height:.375rem;align-items:center}.subdivision-buttons-btn-dot{width:.25rem;height:.25rem;background:currentColor;border-radius:50%;opacity:.7;transition:transform .15s ease}.subdivision-buttons-btn--active .subdivision-buttons-btn-dot{opacity:1;transform:scale(1.1)}.subdivision-buttons--active .subdivision-buttons-btn--active .subdivision-buttons-btn-dot{animation:dot-pulse 1.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.6}}.subdivision-buttons-btn-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;line-height:1}.subdivision-buttons-indicator{font-size:.5rem;color:hsl(var(--muted-foreground));font-style:italic;text-align:center}.subdivision-buttons--compact{padding:.5rem;gap:.25rem}.subdivision-buttons--compact .subdivision-buttons-label{font-size:.5rem}.subdivision-buttons--compact .subdivision-buttons-group{gap:.25rem}.subdivision-buttons--compact .subdivision-buttons-btn{padding:.375rem .25rem;min-height:2.5rem;gap:.125rem}.subdivision-buttons--compact .subdivision-buttons-btn-dots{height:.25rem}.subdivision-buttons--compact .subdivision-buttons-btn-dot{width:.1875rem;height:.1875rem}.subdivision-buttons--compact .subdivision-buttons-btn-label{font-size:.5rem}.subdivision-buttons--compact .subdivision-buttons-indicator{font-size:.4375rem}@media (min-width: 641px) and (max-width: 1026px){.subdivision-buttons{padding:.5rem;gap:.3125rem}.subdivision-buttons-label{font-size:.5rem}.subdivision-buttons-group{gap:.3125rem}.subdivision-buttons-btn{padding:.4375rem .3125rem;min-height:2.75rem}.subdivision-buttons-btn-label{font-size:.5rem}}@media (max-width: 640px){.subdivision-buttons{padding:.5rem;gap:.25rem}.subdivision-buttons-label{font-size:.5rem}.subdivision-buttons-group{gap:.25rem}.subdivision-buttons-btn{padding:.375rem .25rem;min-height:2.5rem;gap:.125rem}.subdivision-buttons-btn-dots{height:.25rem}.subdivision-buttons-btn-dot{width:.1875rem;height:.1875rem}.subdivision-buttons-btn-label,.subdivision-buttons-indicator{font-size:.4375rem}}@media (hover: none) and (pointer: coarse){.subdivision-buttons-btn{min-height:44px;padding:.625rem .5rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.subdivision-buttons-btn-dots{height:.375rem}.subdivision-buttons-btn-dot{width:.3125rem;height:.3125rem}.subdivision-buttons-btn-label{font-size:.625rem}.subdivision-buttons-btn:hover:not(:disabled){transform:none}.subdivision-buttons-btn:active:not(:disabled){transform:scale(.98)}}@media (prefers-reduced-motion: reduce){.subdivision-buttons,.subdivision-buttons-btn{transition:none}.subdivision-buttons--active .subdivision-buttons-btn--active .subdivision-buttons-btn-dot{animation:none}}.subdivision-buttons-btn[data-subdivision-index="0"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-quarter) / .18),hsl(var(--subdivision-quarter) / .12));border-color:hsl(var(--subdivision-quarter));color:hsl(var(--subdivision-quarter))}.subdivision-buttons-btn[data-subdivision-index="1"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-half) / .18),hsl(var(--subdivision-half) / .12));border-color:hsl(var(--subdivision-half));color:hsl(var(--subdivision-half));box-shadow:0 0 12px hsl(var(--subdivision-half) / .2)}.subdivision-buttons-btn[data-subdivision-index="2"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-eighth) / .18),hsl(var(--subdivision-eighth) / .12));border-color:hsl(var(--subdivision-eighth));color:hsl(var(--subdivision-eighth));box-shadow:0 0 12px hsl(var(--subdivision-eighth) / .2)}.subdivision-buttons-btn[data-subdivision-index="3"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-sixteenth) / .18),hsl(var(--subdivision-sixteenth) / .12));border-color:hsl(var(--subdivision-sixteenth));color:hsl(var(--subdivision-sixteenth));box-shadow:0 0 12px hsl(var(--subdivision-sixteenth) / .2)}.subdivision-buttons-btn[data-subdivision-index="4"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-triplet8) / .18),hsl(var(--subdivision-triplet8) / .12));border-color:hsl(var(--subdivision-triplet8));color:hsl(var(--subdivision-triplet8));box-shadow:0 0 12px hsl(var(--subdivision-triplet8) / .2)}.subdivision-buttons-btn[data-subdivision-index="5"].subdivision-buttons-btn--active{background:linear-gradient(135deg,hsl(var(--subdivision-dotted8) / .18),hsl(var(--subdivision-dotted8) / .12));border-color:hsl(var(--subdivision-dotted8));color:hsl(var(--subdivision-dotted8));box-shadow:0 0 12px hsl(var(--subdivision-dotted8) / .2)}.beat-practice-subdivision-container{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3);transition:border-color .3s ease,box-shadow .3s ease}.beat-practice-subdivision-container:has(.subdivision-buttons--active){border-color:hsl(var(--primary) / .3);box-shadow:0 0 12px hsl(var(--primary) / .08)}.beat-practice-subdivision-header{display:flex;align-items:center;gap:.5rem}.beat-practice-subdivision-icon{width:1rem;height:1rem;color:hsl(var(--subdivision-quarter));transition:color .3s ease}.beat-practice-subdivision-container:has([data-subdivision-index="0"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-quarter))}.beat-practice-subdivision-container:has([data-subdivision-index="1"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-half))}.beat-practice-subdivision-container:has([data-subdivision-index="2"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-eighth))}.beat-practice-subdivision-container:has([data-subdivision-index="3"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-sixteenth))}.beat-practice-subdivision-container:has([data-subdivision-index="4"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-triplet8))}.beat-practice-subdivision-container:has([data-subdivision-index="5"].subdivision-buttons-btn--active) .beat-practice-subdivision-icon{color:hsl(var(--subdivision-dotted8))}.beat-practice-subdivision-title{font-size:.75rem;font-weight:700;color:hsl(var(--foreground));letter-spacing:.03em}.beat-practice-subdivision-active-indicator{margin-left:auto;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--cute-green));background:hsl(var(--cute-green) / .15);padding:.125rem .375rem;border-radius:.25rem;border:1px solid hsl(var(--cute-green) / .3);animation:subdivision-active-pulse 1.5s ease-in-out infinite}@keyframes subdivision-active-pulse{0%,to{opacity:1}50%{opacity:.7}}.beat-practice-transition-mode{display:flex;flex-direction:column;gap:.375rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .2);margin-top:.25rem}.beat-practice-transition-mode-header{display:flex;align-items:center;gap:.375rem}.beat-practice-transition-mode-icon{width:.75rem;height:.75rem;color:hsl(var(--muted-foreground))}.beat-practice-transition-mode-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-practice-transition-mode-toggles{display:flex;gap:.25rem}.beat-practice-transition-toggle{flex:1;display:flex;align-items:center;justify-content:center;padding:.375rem .5rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .4),hsl(var(--surface-2) / .6));border:1px solid hsl(var(--border) / .4);border-radius:.25rem;cursor:pointer;transition:all .15s ease;color:hsl(var(--muted-foreground))}.beat-practice-transition-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .6),hsl(var(--surface-2) / .8));border-color:hsl(var(--border))}.beat-practice-transition-toggle:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.beat-practice-transition-toggle--active{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-purple) / .1));border-color:hsl(var(--primary) / .6);color:hsl(var(--primary))}.beat-practice-transition-toggle--active:hover{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .15))}.beat-practice-transition-toggle-text{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.beat-practice-transition-mode-description{font-size:.5rem;color:hsl(var(--muted-foreground));font-style:italic;text-align:center}@media (max-width: 640px){.beat-practice-subdivision-container{padding:.5rem}.beat-practice-subdivision-title{font-size:.6875rem}.beat-practice-subdivision-active-indicator{font-size:.5rem;padding:.0625rem .25rem}.beat-practice-transition-mode{padding-top:.375rem;gap:.25rem}.beat-practice-transition-mode-icon{width:.625rem;height:.625rem}.beat-practice-transition-mode-label{font-size:.5rem}.beat-practice-transition-toggle{padding:.3125rem .375rem}.beat-practice-transition-toggle-text{font-size:.5rem}.beat-practice-transition-mode-description{font-size:.4375rem}}.beat-practice-stream-toggle-container{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:hsl(var(--surface-2) / .5);border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.beat-practice-stream-toggle-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.beat-practice-stream-toggles{display:flex;gap:.375rem}.beat-practice-stream-toggle{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .75rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:hsl(var(--muted-foreground))}.beat-practice-stream-toggle:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border))}.beat-practice-stream-toggle:active:not(:disabled){transform:scale(.98)}.beat-practice-stream-toggle:disabled{opacity:.5;cursor:not-allowed}.beat-practice-stream-toggle--active{background:linear-gradient(135deg,#16a2492e,#16a2491f);border-color:#16a249;box-shadow:0 0 12px #16a24933;color:#1cca5b}.beat-practice-stream-toggle--active:hover:not(:disabled){background:linear-gradient(135deg,#16a24938,#16a24929);box-shadow:0 0 16px #16a2494d}.beat-practice-stream-toggle--disabled:not(.beat-practice-stream-toggle--active){opacity:.5;background:hsl(var(--surface-2) / .3)}.beat-practice-stream-toggle-text{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.beat-practice-stream-toggle-indicator{font-size:.5rem;color:hsl(var(--cute-amber, 38 92% 50%))}.beat-practice-stream-toggle-description{font-size:.5625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (max-width: 640px){.beat-practice-stream-toggle-container{padding:.5rem;gap:.25rem}.beat-practice-stream-toggle-label{font-size:.5rem}.beat-practice-stream-toggle{padding:.375rem .5rem}.beat-practice-stream-toggle-text{font-size:.625rem}.beat-practice-stream-toggle-description{font-size:.5rem}}@media (max-width: 400px){.beat-practice-stream-toggle-container{padding:.375rem}.beat-practice-stream-toggle{padding:.25rem .375rem}.beat-practice-stream-toggle-text{font-size:.5625rem}}.step-completion-prompt{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;margin-top:1rem;background:hsl(var(--muted) / .3);border-radius:.5rem;border:1px solid hsl(var(--border) / .5);animation:step-prompt-fade-in .3s ease-out}@keyframes step-prompt-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.step-completion-prompt-message{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.4}.step-completion-prompt-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.step-completion-prompt-action{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .15s ease;border:none;background:transparent}.step-completion-prompt-action-primary{color:hsl(var(--primary));background:hsl(var(--primary) / .1)}.step-completion-prompt-action-primary:hover{background:hsl(var(--primary) / .2)}.step-completion-prompt-action-secondary{color:hsl(var(--muted-foreground));background:transparent}.step-completion-prompt-action-secondary:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .5)}.step-completion-prompt-action-label{white-space:nowrap}.step-completion-prompt-action-icon{flex-shrink:0;transition:transform .15s ease}.step-completion-prompt-action:hover .step-completion-prompt-action-icon{transform:translate(2px)}@media (max-width: 480px){.step-completion-prompt{padding:.625rem .75rem}.step-completion-prompt-actions{flex-direction:column;align-items:flex-start}.step-completion-prompt-action{width:100%;justify-content:flex-start}}.step-nav{display:flex;flex-direction:row;align-items:stretch;gap:0;width:100%;border-radius:var(--radius);background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border));overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;transition:all var(--duration-normal) var(--ease-out-cubic)}.step-nav-animating{animation:stepNavModeTransition var(--duration-normal) var(--ease-out-cubic)}@keyframes stepNavModeTransition{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.step-nav::-webkit-scrollbar{display:none}.step-nav-tab{flex:1;min-width:100px;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);white-space:nowrap;transform:var(--gpu-accel);animation:stepNavTabEnter var(--duration-normal) var(--ease-out-cubic) backwards}.step-nav-animating .step-nav-tab{animation:stepNavTabEnter var(--duration-normal) var(--ease-out-cubic) backwards}.step-nav-animating .step-nav-tab:nth-child(1){animation-delay:0ms}.step-nav-animating .step-nav-tab:nth-child(2){animation-delay:50ms}.step-nav-animating .step-nav-tab:nth-child(3){animation-delay:.1s}.step-nav-animating .step-nav-tab:nth-child(4){animation-delay:.15s}@keyframes stepNavTabEnter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.step-nav-tab:hover:not(.step-nav-tab-disabled){background-color:hsl(var(--surface-hover));color:hsl(var(--foreground))}.step-nav-tab-active{color:hsl(var(--primary));background-color:hsl(var(--primary) / .08);border-bottom-color:hsl(var(--primary))}.step-nav-tab-active:hover{background-color:hsl(var(--primary) / .12);color:hsl(var(--primary))}.step-nav-tab-completed{color:hsl(var(--cute-green))}.step-nav-tab-completed.step-nav-tab-active{color:hsl(var(--primary))}.step-nav-tab-disabled{opacity:.5;cursor:not-allowed;color:hsl(var(--muted-foreground) / .6)}.step-nav-tab-disabled:hover{background-color:transparent}.step-nav-checkmark{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.75rem;font-weight:700;color:hsl(var(--cute-green));flex-shrink:0}.step-nav-label{display:inline-block}.step-nav-tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--primary));background-color:hsl(var(--primary) / .08)}@media (max-width: 480px){.step-nav{border-radius:0;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem);border-left:none;border-right:none}.step-nav-tab{min-width:85px;padding:.625rem .75rem;font-size:.8125rem}}@media (min-width: 481px) and (max-width: 768px){.step-nav-tab{min-width:90px;padding:.625rem .875rem}}@media (prefers-reduced-motion: reduce){.step-nav-tab{transition:none}}.auto-level-toggle-wrapper{display:flex;justify-content:center;align-items:center}.auto-level-toggle-container{display:flex;align-items:center;gap:.5rem;position:relative}.auto-level-toggle-segmented{position:relative;display:inline-flex;background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:.625rem;padding:.1875rem;gap:.1875rem}.auto-level-toggle-segment{position:relative;z-index:1;padding:.4375rem 1.25rem;font-size:.8125rem;font-weight:600;color:hsl(var(--muted-foreground));background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:color var(--duration-normal) var(--ease-out-cubic);white-space:nowrap}.auto-level-toggle-segment:hover:not(.auto-level-toggle-segment--disabled){color:hsl(var(--foreground))}.auto-level-toggle-segment--active{color:hsl(var(--primary))}.auto-level-toggle-segment--disabled{opacity:.5;cursor:not-allowed}.auto-level-toggle-indicator{position:absolute;top:.1875rem;left:.1875rem;height:calc(100% - .375rem);width:calc(50% - .2813rem);background-color:hsl(var(--background));border-radius:.5rem;box-shadow:0 1px 3px #0000001f;transition:transform var(--duration-normal) var(--ease-out-cubic);z-index:0}.auto-level-toggle-indicator--right{transform:translate(calc(100% + .1875rem))}@media (min-width: 768px){.auto-level-toggle-segment{font-size:.875rem;padding:.5rem 1.5rem}}.auto-level-toggle-info-btn{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background-color:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:all var(--duration-fast) var(--ease-out-cubic);padding:0}.auto-level-toggle-info-btn:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-toggle-tooltip{position:fixed;z-index:100;background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:16rem;max-width:20rem}.auto-level-toggle-tooltip-content{padding:.75rem}.auto-level-toggle-tooltip-content p{font-size:.75rem;line-height:1.5;margin:0 0 .5rem;color:hsl(var(--popover-foreground))}.auto-level-toggle-tooltip-content p:last-child{margin-bottom:0}.auto-level-toggle-tooltip-close{position:absolute;top:.25rem;right:.25rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-size:.875rem;color:hsl(var(--muted-foreground));border-radius:var(--radius);padding:0}.auto-level-toggle-tooltip-close:hover{background-color:hsl(var(--surface-3))}.auto-level-settings{margin-top:.75rem}.auto-level-settings__content{display:flex;flex-direction:column;gap:1.25rem}.auto-level-settings__form-group{display:flex;flex-direction:column;gap:.5rem}.auto-level-settings__form-label{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.auto-level-settings__form-label{font-size:.875rem}}.auto-level-settings__preset-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.auto-level-settings__preset-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .875rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__preset-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__preset-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__preset-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__preset-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__difficulty-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.auto-level-settings__difficulty-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__difficulty-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__difficulty-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__difficulty-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__difficulty-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__output-mode-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.auto-level-settings__output-mode-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__output-mode-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__output-mode-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__output-mode-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__output-mode-button--active.auto-level-settings__output-mode-button--low{background-color:#3c83f626;border-color:#3c83f6;color:#3c83f6}.auto-level-settings__output-mode-button--active.auto-level-settings__output-mode-button--mid{background-color:#16a24926;border-color:#16a249;color:#16a249}.auto-level-settings__output-mode-button--active.auto-level-settings__output-mode-button--high{background-color:#f9741526;border-color:#f97415;color:#f97415}.auto-level-settings__output-mode-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__band-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.auto-level-settings__slider-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.auto-level-settings__slider-label{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.auto-level-settings__slider-label{font-size:.875rem}}.auto-level-settings__slider-value{font-size:.75rem;font-weight:600;color:hsl(var(--primary));font-family:var(--font-mono);background-color:hsl(var(--surface-3));padding:.125rem .375rem;border-radius:var(--radius-sm)}.auto-level-settings__slider{width:100%;height:.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:hsl(var(--surface-3));border-radius:var(--radius-full);cursor:pointer}.auto-level-settings__slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic);box-shadow:0 1px 3px #0000004d}.auto-level-settings__slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.auto-level-settings__slider::-moz-range-thumb{width:1rem;height:1rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;border:none;-moz-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic);box-shadow:0 1px 3px #0000004d}.auto-level-settings__slider::-moz-range-thumb:hover{transform:scale(1.1)}.auto-level-settings__slider:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__slider:disabled::-webkit-slider-thumb{cursor:not-allowed}.auto-level-settings__slider:disabled::-moz-range-thumb{cursor:not-allowed}.auto-level-settings__slider-labels{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}.auto-level-settings__slider-help{margin-top:.375rem;font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.4}.auto-level-settings__seed-input{width:100%;padding:.375rem .5rem;font-size:.75rem;font-family:var(--font-mono);color:hsl(var(--foreground));background-color:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);outline:none;transition:border-color var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__seed-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.auto-level-settings__seed-input:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__seed-input::-moz-placeholder{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-style:italic}.auto-level-settings__seed-input::placeholder{color:hsl(var(--muted-foreground));font-family:var(--font-sans);font-style:italic}.auto-level-settings__advanced-toggle{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:.25rem}.auto-level-settings__advanced-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__advanced-toggle-btn:hover:not(:disabled){background-color:hsl(var(--surface-3));color:hsl(var(--foreground))}.auto-level-settings__advanced-toggle-btn:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__advanced-toggle-btn--active{background-color:hsl(var(--surface-3));color:hsl(var(--foreground))}.auto-level-settings__advanced-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__advanced-chevron{transition:transform var(--duration-normal) var(--ease-out-cubic)}.auto-level-settings__advanced-chevron--rotated{transform:rotate(180deg)}.auto-level-settings__advanced-content{margin-top:.75rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.auto-level-settings__section{margin-bottom:.75rem}.auto-level-settings__section:last-child{margin-bottom:0}.auto-level-settings__section-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.auto-level-settings__band-colors{display:flex;gap:1rem;flex-wrap:wrap}.auto-level-settings__band-color-item{display:flex;align-items:center;gap:.375rem}.auto-level-settings__band-color-dot{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.auto-level-settings__band-color-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.auto-level-settings__advanced-info{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}.auto-level-settings__advanced-info code{font-family:var(--font-mono);font-size:.625rem;background-color:hsl(var(--surface-3));padding:.125rem .25rem;border-radius:var(--radius-sm)}.auto-level-settings__reset{margin-top:.5rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}.auto-level-settings__reset-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__reset-btn:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__reset-btn:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__sub-mode-buttons{display:flex;gap:.5rem}.auto-level-settings__sub-mode-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);flex:1;justify-content:center}.auto-level-settings__sub-mode-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__sub-mode-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__sub-mode-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__sub-mode-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__density-section{display:flex;flex-direction:column;gap:1.25rem;margin-top:.75rem;padding-top:1rem;padding-bottom:1rem;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border))}.auto-level-settings__bpm-thresholds{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius);border:1px solid hsl(var(--border))}@media (max-width: 640px){.auto-level-settings__preset-buttons,.auto-level-settings__difficulty-buttons,.auto-level-settings__output-mode-buttons{gap:.375rem}.auto-level-settings__preset-button,.auto-level-settings__difficulty-button,.auto-level-settings__output-mode-button{padding:.375rem .625rem;font-size:.6875rem}.auto-level-settings__band-colors{flex-direction:column;gap:.5rem}}@media (min-width: 769px) and (max-width: 1023px){.auto-level-settings__content{gap:1.125rem}.auto-level-settings__form-group{gap:.4375rem}.auto-level-settings__preset-button,.auto-level-settings__difficulty-button,.auto-level-settings__output-mode-button{padding:.4375rem .75rem;font-size:.7188rem}}.auto-level-settings__subsection-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background:none;border:none;cursor:pointer;transition:color var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__subsection-toggle:hover:not(:disabled){color:hsl(var(--primary))}.auto-level-settings__subsection-toggle:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__subsection-chevron{margin-left:auto;transition:transform var(--duration-normal) var(--ease-out-cubic)}.auto-level-settings__subsection-chevron--rotated{transform:rotate(180deg)}.auto-level-settings__transient-config{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.auto-level-settings__info-box{display:flex;gap:.5rem;padding:.625rem;background-color:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius)}.auto-level-settings__info-box svg{flex-shrink:0;color:hsl(var(--primary));margin-top:.125rem}.auto-level-settings__info-box p{font-size:.6875rem;color:hsl(var(--foreground));line-height:1.5;margin:0}.auto-level-settings__info-box strong{color:hsl(var(--primary))}.auto-level-settings__info-box--warning{background-color:#f59f0a14;border-color:#f59f0a4d}.auto-level-settings__info-box--warning svg{color:#f59f0a}.auto-level-settings__info-box--warning strong{color:#f59f0a}.auto-level-settings__info-box--warning em{font-style:normal}.auto-level-settings__toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid hsl(var(--border))}.auto-level-settings__toggle-label{font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}.auto-level-settings__toggle-switch{position:relative;width:2.25rem;height:1.25rem;background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);padding:0}.auto-level-settings__toggle-switch:hover:not(:disabled){border-color:hsl(var(--primary) / .5)}.auto-level-settings__toggle-switch:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__toggle-switch--active{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.auto-level-settings__toggle-thumb{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;background-color:hsl(var(--background));border-radius:50%;transition:transform var(--duration-fast) var(--ease-out-cubic);box-shadow:0 1px 2px #0003}.auto-level-settings__toggle-switch--active .auto-level-settings__toggle-thumb{transform:translate(1rem)}.auto-level-settings__band-config{padding:.75rem;background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__band-config--disabled{opacity:.6}.auto-level-settings__band-config--low{border-left:3px solid hsl(217,91%,60%)}.auto-level-settings__band-config--mid{border-left:3px solid hsl(142,76%,36%)}.auto-level-settings__band-config--high{border-left:3px solid hsl(25,95%,53%)}.auto-level-settings__band-config-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.auto-level-settings__band-config-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.auto-level-settings__band-config-freq{font-size:.625rem;color:hsl(var(--muted-foreground));margin-left:auto;font-family:var(--font-mono)}.auto-level-settings__band-config-desc{font-size:.625rem;color:hsl(var(--muted-foreground));margin:0 0 .625rem}.auto-level-settings__band-config-row{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.auto-level-settings__band-config-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));min-width:4.5rem}.auto-level-settings__band-config-slider-wrap{display:flex;align-items:center;gap:.5rem;flex:1}.auto-level-settings__band-config-slider{flex:1;height:.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:hsl(var(--surface-2));border-radius:var(--radius-full);cursor:pointer}.auto-level-settings__band-config-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__band-config-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.auto-level-settings__band-config-slider::-moz-range-thumb{width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;border:none}.auto-level-settings__band-config-slider:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__band-config-value{font-size:.625rem;font-weight:600;color:hsl(var(--primary));font-family:var(--font-mono);min-width:2.5rem;text-align:right}.auto-level-settings__mini-toggle{padding:.25rem .5rem;font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__mini-toggle:hover:not(:disabled){border-color:hsl(var(--primary) / .5)}.auto-level-settings__mini-toggle:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__mini-toggle--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__transient-help{font-size:.625rem;color:hsl(var(--muted-foreground));font-style:italic;margin:0;padding-top:.5rem;border-top:1px solid hsl(var(--border))}@media (max-width: 640px){.auto-level-settings__band-config-row{flex-wrap:wrap}.auto-level-settings__band-config-label{min-width:100%;margin-bottom:.25rem}.auto-level-settings__band-config-slider-wrap{width:100%}}.auto-level-settings__density-validation{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.auto-level-settings__density-validation .auto-level-settings__slider-help{margin-top:0;padding-top:0;border-top:none}.auto-level-settings__scoring-config{margin-top:.75rem;display:flex;flex-direction:column;gap:1rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius)}.auto-level-settings__badge{padding:.125rem .375rem;font-size:.5625rem;font-weight:600;color:hsl(var(--primary));background-color:hsl(var(--primary) / .15);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.auto-level-settings__subsection-title{display:flex;align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.auto-level-settings__help-text{margin:0 0 .75rem;font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.5}.auto-level-settings__scoring-factors{padding:.75rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.auto-level-settings__factor-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.625rem}.auto-level-settings__factor-row:last-of-type{margin-bottom:0}.auto-level-settings__factor-label{min-width:7.5rem;font-size:.6875rem;font-weight:500;color:hsl(var(--foreground))}.auto-level-settings__factor-slider-wrap{display:flex;align-items:center;gap:.5rem;flex:1}.auto-level-settings__factor-slider{flex:1;height:.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:hsl(var(--surface-2));border-radius:var(--radius-full);cursor:pointer}.auto-level-settings__factor-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__factor-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.auto-level-settings__factor-slider::-moz-range-thumb{width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;border:none}.auto-level-settings__factor-slider:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__factor-value{min-width:2.5rem;font-size:.625rem;font-weight:600;color:hsl(var(--primary));font-family:var(--font-mono);text-align:right}.auto-level-settings__weight-total{display:flex;align-items:center;gap:.375rem;margin-top:.75rem;padding-top:.625rem;border-top:1px solid hsl(var(--border));font-size:.6875rem;color:hsl(var(--muted-foreground))}.auto-level-settings__weight-sum{font-weight:600;font-family:var(--font-mono);color:#f59f0a}.auto-level-settings__weight-sum--ok{color:#16a249}.auto-level-settings__weight-check{margin-left:.25rem;color:#16a249;font-weight:600}.auto-level-settings__weight-warning{margin-left:.25rem;color:#f59f0a;font-style:italic}.auto-level-settings__reset-row{display:flex;justify-content:flex-end;margin-top:.625rem}.auto-level-settings__reset-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__reset-btn:hover:not(:disabled){background-color:hsl(var(--surface-3));color:hsl(var(--foreground));border-color:hsl(var(--border))}.auto-level-settings__reset-btn:disabled{opacity:.4;cursor:not-allowed}.auto-level-settings__band-bias{padding:.75rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.auto-level-settings__bias-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.625rem}.auto-level-settings__bias-row:last-of-type{margin-bottom:0}.auto-level-settings__bias-label{display:flex;align-items:center;gap:.375rem;min-width:6rem;font-size:.6875rem;font-weight:500;color:hsl(var(--foreground))}.auto-level-settings__band-color-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}.auto-level-settings__bias-slider-wrap{display:flex;align-items:center;gap:.5rem;flex:1}.auto-level-settings__bias-slider{flex:1;height:.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:hsl(var(--surface-2));border-radius:var(--radius-full);cursor:pointer}.auto-level-settings__bias-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__bias-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.auto-level-settings__bias-slider::-moz-range-thumb{width:.75rem;height:.75rem;background-color:hsl(var(--primary));border-radius:50%;cursor:pointer;border:none}.auto-level-settings__bias-slider:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__bias-value{min-width:2.5rem;font-size:.625rem;font-weight:600;color:hsl(var(--primary));font-family:var(--font-mono);text-align:right}.auto-level-settings__bias-row--low .auto-level-settings__bias-slider::-webkit-slider-thumb{background-color:#3c83f6}.auto-level-settings__bias-row--low .auto-level-settings__bias-slider::-moz-range-thumb{background-color:#3c83f6}.auto-level-settings__bias-row--low .auto-level-settings__bias-value{color:#3c83f6}.auto-level-settings__bias-row--mid .auto-level-settings__bias-slider::-webkit-slider-thumb{background-color:#16a249}.auto-level-settings__bias-row--mid .auto-level-settings__bias-slider::-moz-range-thumb{background-color:#16a249}.auto-level-settings__bias-row--mid .auto-level-settings__bias-value{color:#16a249}.auto-level-settings__bias-row--high .auto-level-settings__bias-slider::-webkit-slider-thumb{background-color:#f97415}.auto-level-settings__bias-row--high .auto-level-settings__bias-slider::-moz-range-thumb{background-color:#f97415}.auto-level-settings__bias-row--high .auto-level-settings__bias-value{color:#f97415}@media (max-width: 640px){.auto-level-settings__factor-row,.auto-level-settings__bias-row{flex-wrap:wrap}.auto-level-settings__factor-label,.auto-level-settings__bias-label{min-width:100%;margin-bottom:.25rem}.auto-level-settings__factor-slider-wrap,.auto-level-settings__bias-slider-wrap{width:100%}}.auto-level-settings__rhythmic-balance{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius)}.auto-level-settings__emphasis-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.auto-level-settings__emphasis-button{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__emphasis-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__emphasis-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__emphasis-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__emphasis-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__emphasis-button-text{font-weight:600}@media (max-width: 640px){.auto-level-settings__rhythmic-balance{gap:.5rem}.auto-level-settings__emphasis-buttons{width:100%}}.auto-level-settings__level-settings-toggle{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:.25rem}.auto-level-settings__level-settings-content{margin-top:.75rem;display:flex;flex-direction:column;gap:1.25rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius);border:1px solid hsl(var(--border))}.auto-level-settings__controller-mode-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.auto-level-settings__controller-mode-button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem 1.25rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);min-width:7rem}.auto-level-settings__controller-mode-button:hover:not(:disabled){background-color:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.auto-level-settings__controller-mode-button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.auto-level-settings__controller-mode-button--active{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary));color:hsl(var(--primary))}.auto-level-settings__controller-mode-button:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__controller-mode-button-text{font-weight:600;margin-bottom:.25rem}.auto-level-settings__controller-mode-button-desc{font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);letter-spacing:.05em}.auto-level-settings__controller-mode-button--active .auto-level-settings__controller-mode-button-desc{color:hsl(var(--primary) / .8)}.auto-level-settings__essentia-toggle{border-top:1px solid hsl(var(--border));padding-top:1rem;margin-top:.25rem}.auto-level-settings__essentia-content{margin-top:.75rem;display:flex;flex-direction:column;gap:1rem;padding:.75rem;background-color:hsl(var(--surface-2));border-radius:var(--radius);border:1px solid hsl(var(--border));animation:slideDown .2s ease-out}.auto-level-settings__select{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;transition:border-color var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__select:hover:not(:disabled){border-color:hsl(var(--primary) / .5)}.auto-level-settings__select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.auto-level-settings__select:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__select optgroup{font-weight:600;color:hsl(var(--muted-foreground))}.auto-level-settings__select option{font-weight:400;color:hsl(var(--foreground));background-color:hsl(var(--surface-3));padding:.25rem .5rem}.auto-level-settings__text-input{width:100%;padding:.5rem .75rem;font-size:.75rem;font-weight:400;font-family:var(--font-mono);color:hsl(var(--foreground));background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color var(--duration-fast) var(--ease-out-cubic)}.auto-level-settings__text-input:hover:not(:disabled){border-color:hsl(var(--primary) / .5)}.auto-level-settings__text-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.auto-level-settings__text-input:disabled{opacity:.5;cursor:not-allowed}.auto-level-settings__text-input::-moz-placeholder{color:hsl(var(--muted-foreground));font-style:italic}.auto-level-settings__text-input::placeholder{color:hsl(var(--muted-foreground));font-style:italic}.auto-level-settings__crepe-url-row{display:flex;gap:.5rem;align-items:flex-start}.auto-level-settings__crepe-url-row .auto-level-settings__text-input{flex:1}.auto-level-settings__crepe-url-row .auto-level-settings__mini-toggle{flex-shrink:0;margin-top:.125rem}@media (max-width: 640px){.auto-level-settings__essentia-content{gap:.75rem}}.rhythm-generation-tab{min-height:400px}.rhythm-generation-section{display:flex;flex-direction:column;gap:1.5rem}.rhythm-generation-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.rhythm-generation-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--destructive) / .05);border-radius:.75rem;border:1px solid hsl(var(--destructive) / .2)}.rhythm-generation-error-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--destructive));opacity:.8}.rhythm-generation-error-title{font-size:1.25rem;font-weight:600;color:hsl(var(--destructive));margin:0}.rhythm-generation-error-message{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px;margin:0}.rhythm-generation-error-actions{display:flex;gap:.75rem;margin-top:.5rem}.rhythm-generation-result{display:flex;flex-direction:column;gap:1.5rem}.rhythm-generation-result-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:hsl(var(--success) / .05);border-radius:.75rem;border:1px solid hsl(var(--success) / .2)}.rhythm-generation-result-icon{color:hsl(var(--success))}.rhythm-generation-result-title{font-size:1.25rem;font-weight:600;color:hsl(var(--success));margin:0}.rhythm-generation-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.rhythm-generation-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.rhythm-generation-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;text-align:center}.rhythm-generation-stat-value{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.rhythm-generation-difficulty-badge{display:inline-flex;padding:.25rem .5rem;background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-radius:.25rem;font-size:.875rem;font-weight:600;text-transform:capitalize}.rhythm-generation-visualizations{display:flex;flex-direction:column;gap:.5rem}.rhythm-generation-timeline-controls{padding:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px solid hsl(var(--border))}.rhythm-generation-visualization-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px dashed hsl(var(--border));color:hsl(var(--muted-foreground));text-align:center}.rhythm-generation-visualization-placeholder p{font-size:.875rem;margin:0}.rhythm-generation-proceed{display:flex;justify-content:center;padding-top:1rem}.rhythm-generation-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px dashed hsl(var(--border))}.rhythm-generation-placeholder-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));opacity:.6}.rhythm-generation-placeholder-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.rhythm-generation-placeholder-text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px;margin:0}@media (max-width: 768px){.rhythm-generation-progress,.rhythm-generation-error,.rhythm-generation-placeholder{padding:2rem 1.5rem}.rhythm-generation-result-header{padding:1.25rem}.rhythm-generation-result-stats{grid-template-columns:repeat(2,1fr)}.rhythm-generation-pipeline{flex-direction:column;align-items:center}.rhythm-generation-pipeline-stage{width:100%;max-width:200px;justify-content:center}.rhythm-generation-error-actions{flex-direction:column;width:100%}.rhythm-generation-error-actions button{width:100%}}@media (max-width: 480px){.rhythm-generation-progress,.rhythm-generation-error,.rhythm-generation-placeholder{padding:1.5rem 1rem}.rhythm-generation-progress-icon{width:40px;height:40px}.rhythm-generation-progress-title,.rhythm-generation-error-title,.rhythm-generation-result-title,.rhythm-generation-placeholder-title{font-size:1.125rem}.rhythm-generation-result-stats{grid-template-columns:1fr}.rhythm-generation-stat{padding:.75rem}.rhythm-generation-stat-value{font-size:1rem}}.rhythm-generation-tab .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.rhythm-progress{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:1.5rem;width:100%}.rhythm-progress__bar-container{width:100%;max-width:400px;height:10px;background:hsl(var(--surface-3));border-radius:var(--radius-full);overflow:hidden}.rhythm-progress__bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:var(--radius-full);transition:width .3s ease}.rhythm-progress__percentage{font-size:.875rem;font-weight:600;font-family:var(--font-mono);color:hsl(var(--muted-foreground));min-width:3rem;text-align:right}.rhythm-progress__message{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;margin:0;max-width:400px;line-height:1.5}.rhythm-progress__stages{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%}.rhythm-progress-stage{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:var(--radius-md);border:1px solid hsl(var(--border));transition:all .2s ease;min-width:160px}.rhythm-progress-stage--pending{opacity:.5}.rhythm-progress-stage--active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.rhythm-progress-stage--complete{border-color:hsl(var(--success));background:hsl(var(--success) / .05)}.rhythm-progress-stage__indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.rhythm-progress-stage__icon{transition:all .2s ease}.rhythm-progress-stage__icon--pending{color:hsl(var(--muted-foreground));opacity:.4}.rhythm-progress-stage__icon--active{color:hsl(var(--primary));animation:rhythm-progress-pulse 1.5s ease-in-out infinite}.rhythm-progress-stage__icon--complete{color:hsl(var(--success))}@keyframes rhythm-progress-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.rhythm-progress-stage__content{display:flex;flex-direction:column;gap:.125rem}.rhythm-progress-stage__label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap}.rhythm-progress-stage__description{font-size:.625rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.rhythm-progress-stage__duration{font-size:.625rem;font-family:var(--font-mono);color:hsl(var(--success));white-space:nowrap}@media (max-width: 768px){.rhythm-progress{padding:1.5rem}.rhythm-progress__stages{flex-direction:column;align-items:stretch}.rhythm-progress-stage{min-width:auto;width:100%}.rhythm-progress-stage__description{max-width:none}}@media (max-width: 480px){.rhythm-progress{padding:1rem;gap:1rem}.rhythm-progress__bar-container{height:8px}.rhythm-progress-stage{padding:.375rem .5rem;gap:.375rem}.rhythm-progress-stage__indicator{width:20px;height:20px}.rhythm-progress-stage__label{font-size:.6875rem}.rhythm-progress-stage__description,.rhythm-progress-stage__duration{font-size:.5625rem}}.rhythm-progress .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.transient-detection-panel{display:flex;flex-direction:column;gap:1rem}.transient-detection-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.transient-detection-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.transient-detection-title svg{color:hsl(var(--primary))}.transient-detection-count{display:flex;align-items:baseline;gap:.375rem}.transient-detection-count-value{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.transient-detection-count-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.transient-detection-controls{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.transient-intensity-filter{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.transient-intensity-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.transient-intensity-label svg{color:hsl(var(--muted-foreground))}.transient-intensity-value{margin-left:auto;font-family:var(--font-mono);font-size:.75rem;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem}.transient-intensity-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:3px;cursor:pointer}.transient-intensity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;-webkit-transition:transform .15s ease;transition:transform .15s ease}.transient-intensity-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.transient-intensity-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:none;-moz-transition:transform .15s ease;transition:transform .15s ease}.transient-intensity-slider::-moz-range-thumb:hover{transform:scale(1.15)}.transient-intensity-range{display:flex;justify-content:space-between;font-size:.6875rem;color:hsl(var(--muted-foreground))}.transient-intensity-hidden-count{display:flex;align-items:center;gap:.25rem;margin-top:.375rem;padding:.375rem .5rem;background:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .3);border-radius:.25rem;font-size:.75rem}.transient-intensity-hidden-label{color:hsl(var(--warning));font-weight:500}.transient-intensity-hidden-value{color:hsl(var(--warning));font-weight:700;font-family:var(--font-mono)}.transient-intensity-hidden-total{color:hsl(var(--muted-foreground))}.transient-intensity-hidden-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.375rem}.transient-intensity-rerun{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:.375rem;font-size:.75rem;cursor:pointer;transition:all .15s ease;flex-shrink:0}.transient-intensity-rerun:hover{background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .5)}.transient-intensity-rerun:disabled{opacity:.7;cursor:not-allowed}.transient-intensity-rerun-icon{color:hsl(var(--primary))}.transient-intensity-rerun-icon.spinning{animation:spin 1s linear infinite}.transient-intensity-rerun-text{color:hsl(var(--primary));font-weight:500}.transient-band-toggle{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.5rem}.transient-band-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.transient-band-toggle-label svg{color:hsl(var(--muted-foreground))}.transient-band-buttons{display:flex;gap:.375rem}.transient-band-button{flex:1;padding:.5rem .75rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;transition:all .15s ease;text-transform:capitalize}.transient-band-button:hover{background:hsl(var(--surface-3));color:hsl(var(--foreground))}.transient-band-button.active{background:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .4);color:hsl(var(--primary))}.transient-band-button.active[style*=--band-color]{background:color-mix(in srgb,var(--band-color) 15%,transparent);border-color:color-mix(in srgb,var(--band-color) 40%,transparent);color:var(--band-color)}.transient-detection-bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.transient-band-card{position:relative;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden}.transient-band-card-indicator{position:absolute;top:0;left:0;width:4px;height:100%}.transient-band-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.transient-band-card-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.transient-band-card-count{font-size:1rem;font-weight:700;color:var(--band-color, hsl(var(--primary)));font-family:var(--font-mono)}.transient-band-card-range{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-bottom:.75rem}.transient-band-card-section{padding-top:.5rem;margin-top:.5rem;border-top:1px solid hsl(var(--border) / .5)}.transient-band-card-section:first-of-type{margin-top:.75rem;padding-top:.75rem}.transient-band-card-section-label{font-size:.5625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.08em;margin-bottom:.375rem;display:flex;align-items:center;gap:.375rem}.transient-band-card-results .transient-band-card-stats{display:flex;flex-direction:column;gap:.375rem}.transient-band-card-results .transient-band-card-stat{display:flex;align-items:center;justify-content:space-between}.transient-band-card-results .transient-band-card-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-band-card-results .transient-band-card-stat-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.transient-band-card-results .transient-band-card-stat-badge{font-size:.6875rem;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--surface-3));padding:.125rem .375rem;border-radius:.25rem}.transient-band-card-config{opacity:.8}.transient-band-card-config-row{display:flex;gap:.75rem;flex-wrap:wrap}.transient-band-card-config-item{display:flex;align-items:center;gap:.25rem}.transient-band-card-config-label{font-size:.5625rem;color:hsl(var(--muted-foreground) / .8);text-transform:uppercase;letter-spacing:.05em}.transient-band-card-config-value{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.transient-band-card-custom-badge{font-size:.5rem;font-weight:600;color:hsl(var(--primary));background:hsl(var(--primary) / .15);padding:.0625rem .25rem;border-radius:.125rem;text-transform:uppercase;letter-spacing:.05em}.transient-band-card-stats{display:flex;flex-direction:column;gap:.5rem}.transient-band-card-stat{display:flex;align-items:center;justify-content:space-between}.transient-band-card-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-band-card-stat-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.transient-band-card-stat-badge{font-size:.6875rem;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--surface-3));padding:.125rem .375rem;border-radius:.25rem}.transient-timeline-section{margin-top:.5rem}.transient-inspector-placeholder{background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden}.transient-inspector-placeholder-title{padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--surface-3));border-bottom:1px solid hsl(var(--border))}.transient-inspector-placeholder-content{display:flex;align-items:center;justify-content:center;padding:1.5rem;color:hsl(var(--muted-foreground));text-align:center}.transient-inspector-placeholder-content p{font-size:.8125rem;margin:0}.transient-inspector-content{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.transient-inspector-row{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0;border-bottom:1px solid hsl(var(--border) / .2)}.transient-inspector-label{font-size:.75rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-inspector-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.transient-inspector-value--band{text-transform:uppercase;color:var(--band-color, hsl(var(--primary)))}@media (max-width: 768px){.transient-detection-controls{flex-direction:column;gap:1rem}.transient-intensity-filter,.transient-band-toggle{min-width:100%}.transient-detection-bands{grid-template-columns:1fr}.transient-band-buttons{flex-wrap:wrap}.transient-band-button{flex:1 1 calc(50% - .375rem)}}@media (max-width: 480px){.transient-detection-header{flex-direction:column;align-items:flex-start;gap:.5rem}.transient-band-card,.transient-inspector-content{padding:.75rem}.transient-inspector-placeholder-content{padding:1.5rem 1rem}}.transient-intensity-slider:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.transient-band-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.transient-intensity-slider::-webkit-slider-thumb,.transient-intensity-slider::-moz-range-thumb,.transient-band-button{-webkit-transition:none;-moz-transition:none;transition:none}}.transient-nms-info{display:flex;gap:.5rem;padding:.75rem;background:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .2);border-radius:.5rem}.transient-nms-info svg{flex-shrink:0;color:hsl(var(--primary));margin-top:.125rem}.transient-nms-info p{font-size:.75rem;color:hsl(var(--foreground));line-height:1.5;margin:0}.transient-nms-info strong{color:hsl(var(--primary))}.transient-config-summary{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));margin-bottom:1rem}.transient-config-summary-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .25rem}.transient-config-summary-description{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0 0 .75rem}.transient-config-per-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.transient-config-band{padding:.75rem;background:hsl(var(--surface-3));border-radius:.375rem;border:1px solid hsl(var(--border))}.transient-config-band--low{border-left:3px solid hsl(217,91%,60%)}.transient-config-band--mid{border-left:3px solid hsl(142,76%,36%)}.transient-config-band--high{border-left:3px solid hsl(25,95%,53%)}.transient-config-band-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.transient-config-band-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));text-transform:capitalize}.transient-config-band-custom-badge{font-size:.5625rem;font-weight:500;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.05em}.transient-config-band-stats{display:flex;flex-direction:column;gap:.25rem}.transient-config-band-stat{display:flex;align-items:center;justify-content:space-between}.transient-config-band-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-config-band-stat-value{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}@media (max-width: 640px){.transient-config-per-band{grid-template-columns:1fr}}.transient-timeline{display:flex;flex-direction:column;gap:.5rem}.transient-timeline-track{position:relative;height:5rem;border-radius:.75rem;overflow:hidden;cursor:default}.transient-timeline-track--draggable{cursor:grab}.transient-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.transient-timeline-track--dragging{cursor:grabbing}.transient-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.transient-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.75rem;border:1px solid hsl(var(--border) / .4)}.transient-timeline-past-region{position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(90deg,hsl(var(--background) / .3) 0%,transparent 100%)}.transient-timeline-future-region{position:absolute;top:0;right:0;bottom:0;width:50%;background:linear-gradient(270deg,hsl(var(--background) / .15) 0%,transparent 100%)}.transient-timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .6);pointer-events:none;z-index:5}.transient-timeline-grid-label{position:absolute;top:.25rem;left:.25rem;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .5);pointer-events:none}.transient-timeline-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.transient-timeline-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .35);pointer-events:none;z-index:4}.transient-timeline-marker{position:absolute;top:0;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:6}.transient-timeline-marker-dot{border-radius:50%;cursor:pointer;pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 4px #0003}.transient-timeline-marker:hover .transient-timeline-marker-dot{transform:scale(1.2);box-shadow:0 4px 8px #0000004d}.transient-timeline-marker--past{opacity:.5}.transient-timeline-marker--past .transient-timeline-marker-dot{opacity:.6}.transient-timeline-marker--selected{z-index:7}.transient-timeline-marker--selected .transient-timeline-marker-dot{outline:2px solid hsl(var(--primary));outline-offset:2px;transform:scale(1.3);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.transient-timeline-marker--selected:hover .transient-timeline-marker-dot{transform:scale(1.4)}.transient-timeline-marker:focus{outline:none}.transient-timeline-marker:focus-visible .transient-timeline-marker-dot{outline:2px solid hsl(var(--primary));outline-offset:2px}.transient-timeline-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;width:2px;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.transient-timeline-now-line-inner{width:2px;height:100%;background:linear-gradient(180deg,hsl(var(--primary) / .2),hsl(var(--primary)) 30%,hsl(var(--primary)) 70%,hsl(var(--primary) / .2));box-shadow:0 0 8px hsl(var(--primary) / .5)}.transient-timeline-now-label{position:absolute;bottom:-1.5rem;font-size:.625rem;font-weight:700;color:hsl(var(--primary));letter-spacing:.1em;text-shadow:0 0 4px hsl(var(--primary) / .5)}.transient-timeline-impact-zone{position:absolute;top:0;left:50%;transform:translate(-50%);width:3rem;height:100%;background:radial-gradient(ellipse at center,hsl(var(--primary) / .15) 0%,transparent 70%);pointer-events:none;z-index:1}.transient-timeline-info{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.transient-timeline-info-item{display:flex;align-items:center;gap:.375rem}.transient-timeline-info-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-timeline-info-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.transient-timeline-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-1));border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.transient-timeline-legend-item{display:flex;align-items:center;gap:.5rem}.transient-timeline-legend-marker{width:12px;height:12px;border-radius:50%;box-shadow:0 1px 2px #0003}.transient-timeline-legend-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:capitalize}.transient-timeline-legend-size{display:flex;align-items:center;gap:.25rem}.transient-timeline-legend-size-small{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.transient-timeline-legend-size-large{width:14px;height:14px;border-radius:50%;background:hsl(var(--muted-foreground))}@media (max-width: 768px){.transient-timeline-track{height:4rem}.transient-timeline-info,.transient-timeline-legend{gap:.5rem;padding:.375rem .5rem}}@media (max-width: 480px){.transient-timeline-track{height:3.5rem}.transient-timeline-info,.transient-timeline-legend{flex-direction:column;gap:.25rem}.transient-timeline-now-label{font-size:.5rem;bottom:-1.25rem}}@media (prefers-reduced-motion: reduce){.transient-timeline-marker-dot{transition:none}.transient-timeline-marker:hover .transient-timeline-marker-dot,.transient-timeline-marker--selected .transient-timeline-marker-dot{transform:none}}.transient-timeline-quickscroll{display:flex;align-items:center;gap:.5rem}.transient-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.transient-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.transient-timeline-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.transient-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.transient-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.transient-inspector{background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden;transition:border-color .2s ease}.transient-inspector:hover{border-color:hsl(var(--border) / .8)}.transient-inspector--empty{background:hsl(var(--surface-1))}.transient-inspector-empty-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center}.transient-inspector-empty-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:1rem;border-radius:50%;background:hsl(var(--surface-3));color:hsl(var(--muted-foreground))}.transient-inspector-empty-title{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.transient-inspector-empty-description{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5;max-width:240px}.transient-inspector-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:hsl(var(--surface-3));border-bottom:1px solid hsl(var(--border))}.transient-inspector-header-left{display:flex;align-items:center;gap:.625rem}.transient-inspector-band-indicator{width:4px;height:24px;border-radius:2px;flex-shrink:0}.transient-inspector-title{display:flex;flex-direction:column;gap:.125rem}.transient-inspector-title-text{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.transient-inspector-index{font-size:.6875rem;font-family:var(--font-mono);color:hsl(var(--muted-foreground))}.transient-inspector-clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:.25rem;background:transparent;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.transient-inspector-clear-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground))}.transient-inspector-clear-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.transient-inspector-intensity{padding:.875rem 1rem;border-bottom:1px solid hsl(var(--border) / .5)}.transient-inspector-intensity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.transient-inspector-intensity-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-inspector-intensity-value{font-size:.875rem;font-weight:700;font-family:var(--font-mono);color:hsl(var(--foreground))}.transient-inspector-intensity-bar-container{width:100%;height:8px;background:hsl(var(--surface-1));border-radius:4px;overflow:hidden}.transient-inspector-intensity-bar{height:100%;border-radius:4px;transition:width .3s ease}.transient-inspector-intensity.intensity--very-high .transient-inspector-intensity-bar{background:linear-gradient(90deg,hsl(var(--primary)),#e8304f)}.transient-inspector-intensity.intensity--high .transient-inspector-intensity-bar{background:linear-gradient(90deg,#2680d9,hsl(var(--primary)))}.transient-inspector-intensity.intensity--medium .transient-inspector-intensity-bar{background:hsl(var(--primary))}.transient-inspector-intensity.intensity--low .transient-inspector-intensity-bar{background:hsl(var(--primary) / .6)}.transient-inspector-intensity.intensity--very-low .transient-inspector-intensity-bar{background:hsl(var(--primary) / .4)}.transient-inspector-intensity-level{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:right;margin-top:.375rem}.transient-inspector-details{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.625rem}.transient-inspector-row{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid hsl(var(--border) / .2)}.transient-inspector-row:last-child{border-bottom:none}.transient-inspector-row-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.transient-inspector-row-icon{display:flex;align-items:center;color:hsl(var(--muted-foreground) / .7)}.transient-inspector-row-value{font-size:.8125rem;color:hsl(var(--foreground));text-align:right}.transient-inspector-timestamp-group{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.transient-inspector-timestamp{font-weight:600;font-family:var(--font-mono)}.transient-inspector-offset{font-size:.6875rem;font-family:var(--font-mono);color:hsl(var(--muted-foreground))}.transient-inspector-offset.offset--past{color:hsl(var(--muted-foreground))}.transient-inspector-offset.offset--future{color:hsl(var(--primary))}.transient-inspector-offset.offset--now{color:#22c35d}.transient-inspector-band-group{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.transient-inspector-band-badge{font-size:.6875rem;font-weight:600;font-family:var(--font-mono);color:#fff;padding:.125rem .5rem;border-radius:.25rem}.transient-inspector-band-range{font-size:.6875rem;color:hsl(var(--muted-foreground))}.transient-inspector-method-group{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.transient-inspector-method-badge{font-size:.75rem;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--surface-3));padding:.125rem .5rem;border-radius:.25rem}.transient-inspector-method-desc{font-size:.6875rem;color:hsl(var(--muted-foreground));max-width:180px;text-align:right}.transient-inspector-beat-group{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.transient-inspector-beat-index{font-weight:600;font-family:var(--font-mono)}.transient-inspector-beat-distance{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.transient-inspector-actions{padding:.75rem 1rem;border-top:1px solid hsl(var(--border));display:flex;gap:.5rem}.transient-inspector-seek-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:.375rem;cursor:pointer;transition:all .15s ease}.transient-inspector-seek-btn:hover{background:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .5)}.transient-inspector-seek-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.transient-inspector-seek-btn:active{transform:scale(.98)}@media (max-width: 480px){.transient-inspector-empty-content{padding:1.5rem 1rem}.transient-inspector-header,.transient-inspector-details{padding:.625rem .75rem}.transient-inspector-intensity{padding:.75rem}.transient-inspector-actions{padding:.625rem .75rem}.transient-inspector-method-desc{max-width:140px}}@media (prefers-reduced-motion: reduce){.transient-inspector,.transient-inspector-clear-btn,.transient-inspector-intensity-bar,.transient-inspector-seek-btn{transition:none}}.transient-inspector-clear-btn:focus-visible,.transient-inspector-seek-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.zoom-controls{display:flex;align-items:center;gap:.25rem;background:#0003;border-radius:.5rem;padding:.25rem}.zoom-controls--sm{gap:.125rem;padding:.125rem}.zoom-controls--md{gap:.25rem;padding:.25rem}.zoom-controls-btn{opacity:.7;transition:opacity .15s ease;padding:.25rem!important;min-width:auto!important}.zoom-controls-btn:hover{opacity:1}.zoom-controls-btn:disabled{opacity:.3;cursor:not-allowed}.zoom-controls-level{font-size:.75rem;color:#fff9;min-width:2.25rem;text-align:center;font-family:JetBrains Mono,Fira Code,monospace;background:transparent;border:none;border-radius:.25rem;padding:.125rem .25rem;cursor:pointer;transition:color .15s ease,background-color .15s ease}.zoom-controls-level:hover:not(:disabled){color:#ffffffe6;background:#ffffff1a}.zoom-controls-level:disabled{cursor:default;opacity:.5}.zoom-controls--sm .zoom-controls-level{font-size:.65rem;min-width:2rem}@media (prefers-reduced-motion: reduce){.zoom-controls-btn{transition:none}}@media (prefers-color-scheme: light){.zoom-controls{background:#0000001a}}.multi-band-visualization{display:flex;flex-direction:column;gap:1rem}.multi-band-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px solid hsl(var(--border) / .3)}.multi-band-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.multi-band-title svg{color:hsl(var(--primary))}.multi-band-summary{display:flex;align-items:baseline;gap:.375rem}.multi-band-summary-total{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.multi-band-summary-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.multi-band-timelines{display:flex;flex-direction:column;gap:.5rem}.multi-band-timeline{display:flex;flex-direction:column;gap:.25rem}.multi-band-timeline-header{display:flex;align-items:center;gap:.75rem;padding:.25rem .5rem}.multi-band-timeline-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;min-width:3rem}.multi-band-timeline-range{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.multi-band-timeline-stats{display:flex;align-items:center;gap:.375rem;margin-left:auto}.multi-band-timeline-count{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.multi-band-timeline-divider{color:hsl(var(--border))}.multi-band-timeline-method{font-size:.625rem;padding:.125rem .375rem;background:hsl(var(--surface-3));border-radius:.25rem;color:hsl(var(--muted-foreground))}.multi-band-timeline-track{position:relative;height:2.5rem;border-radius:.5rem;overflow:hidden;cursor:default;transition:box-shadow .15s ease}.multi-band-timeline-track--draggable{cursor:grab}.multi-band-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.multi-band-timeline-track--dragging{cursor:grabbing}.multi-band-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.multi-band-timeline-track:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .4)}.multi-band-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.multi-band-timeline-accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:.5rem 0 0 .5rem;opacity:.8}.multi-band-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .6);pointer-events:none;z-index:1}.multi-band-grid-label{position:absolute;top:.125rem;left:.25rem;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .5);pointer-events:none;font-family:var(--font-mono)}.multi-band-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.multi-band-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .35);pointer-events:none;z-index:1}.multi-band-marker{position:absolute;top:0;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.multi-band-marker-dot{border-radius:50%;cursor:pointer;pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 3px #0003}.multi-band-marker:hover .multi-band-marker-dot{transform:scale(1.3);box-shadow:0 2px 6px #0000004d}.multi-band-marker--past{opacity:.4}.multi-band-marker--past .multi-band-marker-dot{opacity:.6}.multi-band-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;width:2px;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.multi-band-now-line-inner{width:2px;height:100%;opacity:.7;box-shadow:0 0 4px currentColor}.multi-band-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-1));border-radius:.5rem;border:1px solid hsl(var(--border) / .2)}.multi-band-legend-item{display:flex;align-items:center;gap:.375rem}.multi-band-legend-marker{width:10px;height:10px;border-radius:50%;box-shadow:0 1px 2px #0003}.multi-band-legend-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.multi-band-legend-count{font-size:.625rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono);padding:.125rem .25rem;background:hsl(var(--surface-3));border-radius:.25rem}@media (max-width: 768px){.multi-band-header{flex-direction:column;gap:.5rem;align-items:flex-start}.multi-band-timeline-header{flex-wrap:wrap;gap:.5rem}.multi-band-timeline-stats{margin-left:0;width:100%;justify-content:flex-start}.multi-band-timeline-track{height:2rem}.multi-band-legend{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.multi-band-timeline-track{height:1.75rem}.multi-band-timeline-range{display:none}}@media (prefers-reduced-motion: reduce){.multi-band-marker-dot{transition:none}.multi-band-marker:hover .multi-band-marker-dot{transform:none}.multi-band-timeline-track{transition:none}}.multi-band-quickscroll{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.multi-band-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.multi-band-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.multi-band-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.multi-band-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.multi-band-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.quantization-panel{display:flex;flex-direction:column;gap:1rem}.quantization-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.quantization-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.quantization-title svg{color:hsl(var(--primary))}.quantization-count{display:flex;align-items:baseline;gap:.375rem}.quantization-count-value{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.quantization-count-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.quantization-pipeline-summary{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-pipeline-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.quantization-pipeline-description{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0 0 .75rem}.quantization-pipeline-stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.quantization-pipeline-stat{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;background:hsl(var(--surface-1));border-radius:.375rem;min-width:4rem}.quantization-pipeline-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantization-pipeline-stat-value{font-size:1rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.quantization-pipeline-per-band{padding-top:.75rem;border-top:1px solid hsl(var(--border))}.quantization-pipeline-per-band-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.quantization-pipeline-band{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.75rem}.quantization-pipeline-band-name{font-weight:500;color:hsl(var(--foreground));text-transform:capitalize;min-width:3rem}.quantization-pipeline-band-count{font-family:var(--font-mono);color:hsl(var(--primary))}.quantization-pipeline-band-retries{font-size:.6875rem;color:hsl(var(--warning));background:hsl(var(--warning) / .1);padding:.125rem .375rem;border-radius:.25rem}.quantization-pipeline-band-sensitivity{font-size:.6875rem;color:hsl(var(--muted-foreground));background:hsl(var(--surface-3));padding:.125rem .375rem;border-radius:.25rem}.quantization-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.quantization-stat-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-stat-card--primary{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .05)}.quantization-stat-card--success{border-color:hsl(var(--success) / .3);background:hsl(var(--success) / .05)}.quantization-stat-card--warning{border-color:hsl(var(--warning) / .3);background:hsl(var(--warning) / .05)}.quantization-stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.375rem;background:hsl(var(--surface-3));color:hsl(var(--muted-foreground))}.quantization-stat-card--primary .quantization-stat-icon{background:hsl(var(--primary) / .15);color:hsl(var(--primary))}.quantization-stat-card--success .quantization-stat-icon{background:hsl(var(--success) / .15);color:hsl(var(--success))}.quantization-stat-card--warning .quantization-stat-icon{background:hsl(var(--warning) / .15);color:hsl(var(--warning))}.quantization-stat-content{display:flex;flex-direction:column;gap:.125rem}.quantization-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantization-stat-value-row{display:flex;align-items:baseline;gap:.5rem}.quantization-stat-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantization-stat-badge{font-size:.625rem;font-weight:500;color:hsl(var(--warning));background:hsl(var(--warning) / .1);padding:.125rem .375rem;border-radius:.25rem}.quantization-section-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.quantization-grid-section,.quantization-bands-section{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-grid-distribution{display:flex;flex-direction:column;gap:.75rem}.quantization-distribution-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:hsl(var(--surface-3))}.quantization-distribution-segment{height:100%;transition:width .3s ease}.quantization-distribution-segment--straight{background:hsl(var(--primary))}.quantization-distribution-segment--triplet{background:#b152e0}.quantization-distribution-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.quantization-distribution-legend-item{display:flex;align-items:center;gap:.5rem}.quantization-distribution-marker{width:10px;height:10px;border-radius:2px}.quantization-distribution-marker--straight{background:hsl(var(--primary))}.quantization-distribution-marker--triplet{background:#b152e0}.quantization-distribution-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.quantization-distribution-count{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantization-density-info{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-density-item{display:flex;align-items:center;gap:.5rem}.quantization-density-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantization-density-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantization-density-status{font-size:.6875rem;font-weight:600;padding:.125rem .5rem;border-radius:.25rem}.quantization-density-status.valid{background:hsl(var(--success) / .15);color:hsl(var(--success))}.quantization-density-status.warning{background:hsl(var(--warning) / .15);color:hsl(var(--warning))}.quantization-bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.quantization-band-card{position:relative;padding:1rem;background:hsl(var(--surface-1));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden}.quantization-band-card-indicator{position:absolute;top:0;left:0;width:4px;height:100%}.quantization-band-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.quantization-band-card-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));text-transform:capitalize}.quantization-band-card-count{font-size:1rem;font-weight:700;color:var(--band-color, hsl(var(--primary)));font-family:var(--font-mono)}.quantization-band-card-stats{display:flex;flex-direction:column;gap:.375rem}.quantization-band-card-stat{display:flex;align-items:center;justify-content:space-between}.quantization-band-card-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantization-band-card-stat-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantization-band-card .quantization-grid-distribution{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.quantization-band-card .quantization-distribution-bar{height:4px}.quantization-band-card .quantization-distribution-legend{gap:.75rem;margin-top:.5rem}.quantization-band-card .quantization-distribution-marker{width:8px;height:8px}.quantization-band-card .quantization-distribution-label,.quantization-band-card .quantization-distribution-count{font-size:.625rem}.quantization-timeline-placeholder{background:hsl(var(--surface-2));border-radius:.5rem;border:1px dashed hsl(var(--border));overflow:hidden}.quantization-placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;color:hsl(var(--muted-foreground));text-align:center}.quantization-placeholder-content svg{opacity:.5}.quantization-placeholder-content p{font-size:.875rem;font-weight:500;margin:0;color:hsl(var(--foreground))}.quantization-placeholder-content span{font-size:.75rem}@media (max-width: 768px){.quantization-summary,.quantization-bands{grid-template-columns:1fr}.quantization-density-info,.quantization-distribution-legend{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.quantization-header{flex-direction:column;align-items:flex-start;gap:.5rem}.quantization-stat-card,.quantization-band-card{padding:.75rem}}.quantization-panel *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.quantization-distribution-segment{transition:none}}.quantization-beat-timeline-section{margin-top:1rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-beat-timeline-section .quantization-timeline-header{margin-bottom:.75rem}.quantization-timeline-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.quantization-timeline-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.quantization-band-selector{display:flex;align-items:center;gap:.375rem}.quantization-band-selector-label{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.quantization-band-btn{display:flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:linear-gradient(180deg,hsl(var(--surface-3) / .5),hsl(var(--surface-2) / .7));border:1px solid hsl(var(--border) / .5);border-radius:.375rem;cursor:pointer;transition:all .15s ease;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:600;text-transform:capitalize;letter-spacing:.03em}.quantization-band-btn:hover:not(:disabled){background:linear-gradient(180deg,hsl(var(--surface-3) / .7),hsl(var(--surface-2) / .9));border-color:hsl(var(--border));transform:translateY(-1px)}.quantization-band-btn:active:not(:disabled){transform:translateY(0);transform:scale(.98)}.quantization-band-btn:focus{outline:none;border-color:hsl(var(--primary) / .6);box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.quantization-band-btn:disabled{opacity:.5;cursor:not-allowed}.quantization-band-btn[data-band=all].active{background:linear-gradient(135deg,hsl(var(--primary) / .18),hsl(var(--cute-purple) / .12));border-color:hsl(var(--primary));box-shadow:0 0 12px hsl(var(--primary) / .2);color:hsl(var(--primary))}.quantization-band-btn[data-band=all].active:hover:not(:disabled){background:linear-gradient(135deg,hsl(var(--primary) / .22),hsl(var(--cute-purple) / .16));box-shadow:0 0 16px hsl(var(--primary) / .3)}.quantization-band-btn[data-band=low].active{background:linear-gradient(135deg,#3c83f62e,#3c83f61f);border-color:#3c83f6;box-shadow:0 0 12px #3c83f633;color:#6da2f8}.quantization-band-btn[data-band=low].active:hover:not(:disabled){background:linear-gradient(135deg,#3c83f638,#3c83f629);box-shadow:0 0 16px #3c83f64d}.quantization-band-btn[data-band=mid].active{background:linear-gradient(135deg,#16a2492e,#16a2491f);border-color:#16a249;box-shadow:0 0 12px #16a24933;color:#1fe066}.quantization-band-btn[data-band=mid].active:hover:not(:disabled){background:linear-gradient(135deg,#16a24938,#16a24929);box-shadow:0 0 16px #16a2494d}.quantization-band-btn[data-band=high].active{background:linear-gradient(135deg,#f974152e,#f974151f);border-color:#f97415;box-shadow:0 0 12px #f9741533;color:#fb9851}.quantization-band-btn[data-band=high].active:hover:not(:disabled){background:linear-gradient(135deg,#f9741538,#f9741529);box-shadow:0 0 16px #f974154d}@media (hover: none) and (pointer: coarse){.quantization-band-btn{min-height:44px;padding:.5rem .75rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.quantization-band-btn:hover:not(:disabled){transform:none}.quantization-band-btn:active:not(:disabled){transform:scale(.98)}}@media (prefers-reduced-motion: reduce){.quantization-band-btn{transition:none}}@media (max-width: 768px){.quantization-beat-timeline-section{padding:.75rem}.quantization-timeline-header{flex-direction:column;align-items:flex-start}.quantization-band-selector{flex-wrap:wrap}.quantization-band-btn{padding:.3125rem .5rem;font-size:.625rem}}.grid-decision-timeline{display:flex;flex-direction:column;gap:.5rem}.grid-decision-timeline-track{position:relative;height:3.5rem;border-radius:.75rem;overflow:hidden;cursor:default;background:hsl(var(--surface-2));border:1px solid hsl(var(--border) / .4)}.grid-decision-timeline-track--draggable{cursor:grab}.grid-decision-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.grid-decision-timeline-track--dragging{cursor:grabbing}.grid-decision-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.grid-decision-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.75rem}.grid-decision-timeline-past-region{position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(90deg,hsl(var(--background) / .3) 0%,transparent 100%)}.grid-decision-timeline-future-region{position:absolute;top:0;right:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent 0%,hsl(var(--background) / .1) 100%)}.grid-decision-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10;cursor:pointer;transition:transform .15s ease}.grid-decision-timeline-marker:hover{transform:translate(-50%,-50%) scale(1.2);z-index:20}.grid-decision-timeline-marker--past .grid-decision-timeline-marker-dot{opacity:.6}.grid-decision-timeline-marker--suppressed{cursor:default;pointer-events:none}.grid-decision-timeline-marker--hovered{transform:translate(-50%,-50%) scale(1.3);z-index:25}.grid-decision-timeline-marker-dot{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--grid-color, hsl(var(--primary)));box-shadow:0 2px 4px hsl(var(--background) / .3);transition:all .15s ease}.grid-decision-timeline-marker:hover .grid-decision-timeline-marker-dot{box-shadow:0 4px 8px hsl(var(--background) / .4)}.grid-decision-timeline-marker-label{font-size:.625rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.02em}.grid-decision-timeline-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);width:2px;height:100%;z-index:30;display:flex;flex-direction:column;align-items:center}.grid-decision-timeline-now-line-inner{width:2px;height:100%;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .6)}.grid-decision-timeline-now-label{position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:700;color:hsl(var(--primary));background:hsl(var(--surface-1));padding:.125rem .375rem;border-radius:.25rem;white-space:nowrap}.grid-decision-timeline-tooltip{position:fixed;transform:translate(-50%,-100%);margin-top:-.5rem;background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:.5rem;padding:.75rem;min-width:180px;box-shadow:0 4px 12px hsl(var(--background) / .3);z-index:1000;pointer-events:none}.grid-decision-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .3)}.grid-decision-tooltip-beat{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.grid-decision-tooltip-type{font-size:.625rem;font-weight:700;color:#fff;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase}.grid-decision-tooltip-stats{display:flex;flex-direction:column;gap:.25rem}.grid-decision-tooltip-stat{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.grid-decision-tooltip-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground))}.grid-decision-tooltip-stat-value{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.grid-decision-timeline-info{display:flex;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.grid-decision-timeline-info-item{display:flex;align-items:center;gap:.375rem}.grid-decision-timeline-info-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.grid-decision-timeline-info-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.grid-decision-timeline-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.grid-decision-timeline-legend-item{display:flex;align-items:center;gap:.375rem}.grid-decision-timeline-legend-marker{width:16px;height:16px;border-radius:4px}.grid-decision-timeline-legend-marker--straight{background:#3b82f6}.grid-decision-timeline-legend-marker--triplet{background:#a855f7}.grid-decision-timeline-legend-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.grid-decision-timeline-legend-opacity{display:flex;align-items:center;gap:.25rem}.grid-decision-timeline-legend-opacity-low,.grid-decision-timeline-legend-opacity-high{width:12px;height:12px;border-radius:3px;background:hsl(var(--primary))}.grid-decision-timeline-legend-opacity-low{opacity:.3}.grid-decision-timeline-legend-opacity-high{opacity:1}.grid-decision-timeline-legend-item svg{color:hsl(var(--muted-foreground))}@media (max-width: 768px){.grid-decision-timeline-track{height:3rem}.grid-decision-timeline-marker-dot{width:20px;height:20px}.grid-decision-timeline-marker-label{font-size:.5rem}.grid-decision-timeline-info,.grid-decision-timeline-legend{flex-wrap:wrap;gap:.5rem}}@media (max-width: 480px){.grid-decision-timeline-tooltip{min-width:150px;padding:.5rem}.grid-decision-timeline-tooltip-stat{flex-direction:column;align-items:flex-start;gap:0}}.grid-decision-timeline *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.grid-decision-timeline-marker,.grid-decision-timeline-marker-dot{transition:none}}.grid-decision-timeline-quickscroll{display:flex;align-items:center;gap:.5rem}.grid-decision-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.grid-decision-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.grid-decision-timeline-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.grid-decision-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.grid-decision-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.quantized-beat-timeline{display:flex;flex-direction:column;gap:.5rem}.quantized-beat-timeline-track{position:relative;height:5rem;border-radius:.75rem;overflow:hidden;cursor:default;background:hsl(var(--surface-2));border:1px solid hsl(var(--border) / .4)}.quantized-beat-timeline-track--draggable{cursor:grab}.quantized-beat-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.quantized-beat-timeline-track--dragging{cursor:grabbing}.quantized-beat-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.quantized-beat-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-3)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)),hsl(var(--surface-2)) 70%,hsl(var(--surface-3)));border-radius:.75rem}.quantized-beat-timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .6);pointer-events:none;z-index:5}.quantized-beat-timeline-grid-label{position:absolute;top:.25rem;left:.25rem;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .5);pointer-events:none}.quantized-beat-timeline-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.quantized-beat-timeline-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .5);pointer-events:none;z-index:4}.quantized-beat-timeline-past-region{position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(90deg,hsl(var(--background) / .5) 0%,transparent 100%)}.quantized-beat-timeline-future-region{position:absolute;top:0;right:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent 0%,hsl(var(--background) / .1) 100%)}.quantized-beat-timeline-highlight{position:absolute;top:0;bottom:0;z-index:3;pointer-events:none;border-radius:.25rem;transition:opacity .2s ease}.quantized-beat-timeline-highlight:hover{opacity:.8}.quantized-beat-timeline-beat,.quantized-beat-timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10;cursor:pointer;transition:transform .15s ease}.quantized-beat-timeline-beat--hovered{transform:translate(-50%) scale(1.1);z-index:25;opacity:1}.quantized-beat-timeline-beat--past{opacity:.5}.quantized-beat-timeline-beat--past .quantized-beat-timeline-beat-dot{opacity:.6}.quantized-beat-timeline-beat--selected{z-index:20}.quantized-beat-timeline-beat--selected .quantized-beat-timeline-beat-dot{outline:2px solid hsl(var(--primary));outline-offset:3px;transform:scale(1.3);box-shadow:0 4px 12px hsl(var(--primary) / .4)}.quantized-beat-timeline-beat--selected:hover .quantized-beat-timeline-beat-dot{transform:scale(1.6)}.quantized-beat-timeline-beat:focus{outline:none}.quantized-beat-timeline-beat:focus-visible .quantized-beat-timeline-beat-dot{outline:2px solid hsl(var(--primary));outline-offset:2px}.quantized-beat-timeline-beat-dot{border-radius:50%;cursor:pointer;transition:transform .15s ease,box-shadow 0 2px 4px rgba(0,0,0,.2);background:var(--band-color, hsl(var(--primary)))}.quantized-beat-timeline-beat:hover .quantized-beat-timeline-beat-dot{transform:scale(1.15);box-shadow:0 4px 8px #00000040}.quantized-beat-timeline-beat-error-badge{position:absolute;top:-2px;right:2px;font-size:.5rem;font-weight:600;padding:1px 4px;border-radius:0 3px;background:hsl(var(--error) / .8);color:#fff;opacity:0;transition:opacity .15s ease}.quantized-beat-timeline-beat--high-error .quantized-beat-timeline-beat-error-badge{background:hsl(var(--error));color:hsl(var(--error))}.quantized-beat-timeline-beat--low-error .quantized-beat-timeline-beat-error-badge{background:hsl(var(--success) / .6);color:hsl(var(--success))}.quantized-beat-timeline-now-line{position:absolute;top:0;left:50%;height:100%;width:2px;z-index:30;display:flex;flex-direction:column;align-items:center;pointer-events:none}.quantized-beat-timeline-now-line-inner{width:2px;height:100%;background:linear-gradient(180deg,hsl(var(--primary) / .2),hsl(var(--primary)) 50%,hsl(var(--primary)) 70%,hsl(var(--primary) / .2));box-shadow:0 0 8px hsl(var(--primary) / .6)}.quantized-beat-timeline-now-label{position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:700;color:hsl(var(--primary));letter-spacing:.1em;text-shadow:0 0 4px hsl(var(--primary) / .5)}.quantized-beat-timeline-tooltip{position:fixed;transform:translate(-50%,-100%);margin-top:-.5rem;background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:.5rem;padding:.75rem;min-width:200px;box-shadow:0 4px 12px hsl(var(--background) / .3);z-index:1000;pointer-events:none}.quantized-beat-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .3)}.quantized-beat-tooltip-time{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.quantized-beat-tooltip-band{display:flex;align-items:center;gap:.375rem}.quantized-beat-tooltip-band-indicator{width:8px;height:8px;border-radius:2px}.quantized-beat-tooltip-stats{display:flex;flex-direction:column;gap:.375rem}.quantized-beat-tooltip-stat{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.quantized-beat-tooltip-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.quantized-beat-tooltip-stat-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantized-beat-tooltip-stat--error .quantized-beat-tooltip-stat-value{color:hsl(var(--error))}.quantized-beat-tooltip-stat--warning .quantized-beat-tooltip-stat-value{color:hsl(var(--warning))}.quantized-beat-timeline-info{display:flex;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.quantized-beat-timeline-info-item{display:flex;align-items:center;gap:.375rem}.quantized-beat-timeline-info-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantized-beat-timeline-info-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantized-beat-timeline-info-item--error .quantized-beat-timeline-info-value{color:hsl(var(--error))}.quantized-beat-timeline-info-item--warning .quantized-beat-timeline-info-value{color:hsl(var(--warning))}.quantized-beat-timeline-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.quantized-beat-timeline-legend-item{display:flex;align-items:center;gap:.375rem}.quantized-beat-timeline-legend-marker{width:12px;height:12px;border-radius:50%;box-shadow:0 1px 2px #0003}.quantized-beat-timeline-legend-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:capitalize}.quantized-beat-timeline-legend-item svg{color:hsl(var(--muted-foreground))}.quantized-beat-timeline-legend-size{display:flex;align-items:center;gap:.25rem}.quantized-beat-timeline-legend-size-small{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.quantized-beat-timeline-legend-size-large{width:14px;height:14px;border-radius:50%;background:hsl(var(--muted-foreground))}.quantized-beat-timeline-legend-error{display:flex;align-items:center;gap:.25rem}.quantized-beat-timeline-legend-error-bar{width:40px;height:4px;border-radius:2px;background:hsl(var(--success) / .6)}.quantized-beat-timeline-legend-error-bar--warning{background:hsl(var(--warning) / .6)}.quantized-beat-timeline-legend-error-bar--high{background:hsl(var(--error) / .8)}.quantized-beat-timeline-grid-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.quantized-beat-timeline-grid-toggle-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.quantized-beat-timeline-grid-toggle-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--surface-3));border:1px solid hsl(var(--border) / .4);border-radius:.25rem;cursor:pointer;transition:all .15s ease}.quantized-beat-timeline-grid-toggle-btn:hover{background:hsl(var(--surface-4));color:hsl(var(--foreground));border-color:hsl(var(--border))}.quantized-beat-timeline-grid-toggle-btn.active{background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-color:hsl(var(--primary) / .4)}.quantized-beat-timeline-grid-toggle-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (max-width: 768px){.quantized-beat-timeline-track{height:4rem}.quantized-beat-timeline-info,.quantized-beat-timeline-legend{gap:.5rem;padding:.375rem .5rem}}@media (max-width: 480px){.quantized-beat-timeline-track{height:3.5rem}.quantized-beat-timeline-info,.quantized-beat-timeline-legend{flex-direction:column;gap:.25rem}.quantized-beat-timeline-tooltip{min-width:160px;padding:.5rem}.quantized-beat-tooltip-stat{flex-direction:column;align-items:flex-start;gap:0}}.quantized-beat-timeline *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.quantized-beat-timeline-marker,.quantized-beat-timeline-marker-dot{transition:none}}.quantized-beat-timeline-quickscroll{display:flex;align-items:center;gap:.5rem}.quantized-beat-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.quantized-beat-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.quantized-beat-timeline-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.quantized-beat-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.quantized-beat-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.quantization-histogram{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.quantization-histogram-header{display:flex;align-items:center;justify-content:space-between}.quantization-histogram-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.quantization-histogram-title svg{color:hsl(var(--primary))}.quantization-histogram-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground))}.quantization-histogram-stats{display:flex;gap:1.5rem;padding:.75rem;background:hsl(var(--surface-1));border-radius:.375rem}.quantization-histogram-stat{display:flex;flex-direction:column;gap:.125rem}.quantization-histogram-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.quantization-histogram-stat-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.quantization-histogram-chart{display:flex;gap:.5rem;height:120px}.quantization-histogram-y-axis{display:flex;flex-direction:column;justify-content:space-between;width:32px;text-align:right;padding-right:.5rem}.quantization-histogram-y-label{font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.quantization-histogram-bars{flex:1;display:flex;align-items:flex-end;gap:4px;position:relative;background:hsl(var(--surface-3));border-radius:.25rem;padding:.25rem}.quantization-histogram-grid{position:absolute;top:.25rem;right:.25rem;bottom:.25rem;left:.25rem;pointer-events:none}.quantization-histogram-grid-line{position:absolute;left:0;right:0;height:1px;background:hsl(var(--border) / .3)}.quantization-histogram-bar-wrapper{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%;min-width:20px}.quantization-histogram-bar{width:100%;max-width:40px;border-radius:2px 2px 0 0;transition:height .3s ease,opacity .2s ease;position:relative;cursor:pointer}.quantization-histogram-bar:hover{opacity:.85}.quantization-histogram-bar-count{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.625rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono);white-space:nowrap}.quantization-histogram-bar--excellent{background:hsl(var(--cute-green))}.quantization-histogram-bar--good{background:hsl(var(--primary))}.quantization-histogram-bar--acceptable{background:hsl(var(--cute-yellow))}.quantization-histogram-bar--poor{background:hsl(var(--destructive))}.quantization-histogram-x-axis{display:flex;gap:4px;padding-left:calc(32px + .75rem);padding-right:.25rem}.quantization-histogram-x-label{flex:1;text-align:center;font-size:.5625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);min-width:20px}.quantization-histogram-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.quantization-histogram-legend-item{display:flex;align-items:center;gap:.375rem}.quantization-histogram-legend-marker{width:10px;height:10px;border-radius:2px}.quantization-histogram-legend-text{font-size:.6875rem;color:hsl(var(--muted-foreground))}.quantization-histogram-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:hsl(var(--muted-foreground));text-align:center}.quantization-histogram-empty svg{opacity:.4}.quantization-histogram-empty p{font-size:.875rem;margin:0}@media (max-width: 640px){.quantization-histogram-chart{height:100px}.quantization-histogram-bar-wrapper{min-width:16px}.quantization-histogram-bar{max-width:30px}.quantization-histogram-stats{flex-wrap:wrap;gap:1rem}.quantization-histogram-legend{flex-wrap:wrap;gap:.5rem 1rem}.quantization-histogram-x-label{font-size:.5rem}}@media (max-width: 480px){.quantization-histogram{padding:.75rem}.quantization-histogram-bar-count{display:none}}.quantization-histogram *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.quantization-histogram-bar{transition:none}}.composite-stream-panel{display:flex;flex-direction:column;gap:1rem}.composite-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.composite-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.composite-title svg{color:hsl(var(--primary))}.composite-count{display:flex;align-items:baseline;gap:.375rem}.composite-count-value{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.composite-count-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.composite-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.composite-stat-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.composite-stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.375rem;background:hsl(var(--surface-3));color:hsl(var(--muted-foreground))}.composite-stat-content{display:flex;flex-direction:column;gap:.125rem}.composite-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.composite-stat-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.composite-scoring-config-info{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));font-size:.8125rem;color:hsl(var(--muted-foreground))}.composite-scoring-config-info svg{flex-shrink:0;color:hsl(var(--primary));margin-top:.125rem}.composite-scoring-config-info .scoring-config-label{font-weight:600;color:hsl(var(--foreground))}.composite-scoring-config-info .scoring-config-value{font-family:var(--font-mono);font-weight:500}.composite-balance-stats{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.composite-balance-stats-header{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.composite-balance-stats-header svg{color:hsl(var(--primary))}.composite-balance-stats-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.composite-balance-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.composite-balance-stat-card{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.625rem .5rem;background:hsl(var(--surface-3));border-radius:.375rem;border:1px solid hsl(var(--border) / .5)}.composite-balance-stat-value{font-size:1rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.composite-balance-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;text-align:center}.composite-section-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.composite-distribution-section{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.composite-distribution-bar{display:flex;flex-direction:column;gap:.75rem}.composite-distribution-bar-track{display:flex;height:8px;border-radius:4px;overflow:hidden;background:hsl(var(--surface-3))}.composite-distribution-segment{height:100%;transition:width .3s ease}.composite-distribution-segment--low{background:#3b82f6}.composite-distribution-segment--mid{background:#22c55e}.composite-distribution-segment--high{background:#f97316}.composite-distribution-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.composite-distribution-legend-item{display:flex;align-items:center;gap:.5rem}.composite-distribution-marker{width:10px;height:10px;border-radius:2px}.composite-distribution-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.composite-distribution-count{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.composite-timelines-section{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.composite-timelines-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.composite-timelines-controls{display:flex;align-items:center;gap:1rem}.composite-band-timelines{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.composite-band-timeline{display:flex;flex-direction:column;gap:.25rem}.composite-band-timeline-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem}.composite-band-timeline-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;min-width:3rem}.composite-band-timeline-count{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.composite-band-timeline-track{position:relative;height:2.5rem;border-radius:.5rem;overflow:hidden;cursor:default;transition:box-shadow .15s ease}.composite-band-timeline-track--draggable{cursor:grab}.composite-band-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.composite-band-timeline-track--dragging{cursor:grabbing}.composite-band-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.composite-band-timeline-track:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .4)}.composite-band-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.composite-band-timeline-accent{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:.5rem 0 0 .5rem;opacity:.8}.composite-band-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .6);pointer-events:none;z-index:1}.composite-band-grid-label{position:absolute;top:.125rem;left:.125rem;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .5);pointer-events:none}.composite-band-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.composite-band-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .3);pointer-events:none;z-index:1}.composite-timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .6);pointer-events:none;z-index:1}.composite-timeline-grid-label{position:absolute;top:.125rem;left:.125rem;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .5);pointer-events:none}.composite-timeline-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.composite-timeline-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .3);pointer-events:none;z-index:1}.composite-band-marker{position:absolute;top:0;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.composite-band-marker-dot{border-radius:50%;cursor:pointer;pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 3px #0003}.composite-band-marker:hover .composite-band-marker-dot{transform:scale(1.3);box-shadow:0 2px 6px #0000004d}.composite-band-marker--past{opacity:.4}.composite-band-marker--past .composite-band-marker-dot{opacity:.6}.composite-band-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;width:2px;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.composite-band-now-line-inner{width:2px;height:100%;opacity:.7;box-shadow:0 0 4px currentColor}.composite-band-quickscroll{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.composite-band-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.composite-band-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.composite-band-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.composite-band-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.composite-band-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.composite-timeline-section{padding-top:1rem;border-top:1px solid hsl(var(--border) / .3)}.composite-timeline{display:flex;flex-direction:column;gap:.25rem}.composite-timeline-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem}.composite-timeline-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--foreground))}.composite-timeline-count{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.composite-timeline-track{position:relative;height:2.5rem;border-radius:.5rem;overflow:hidden;cursor:default;transition:box-shadow .15s ease}.composite-timeline-track--draggable{cursor:grab}.composite-timeline-track--draggable:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.composite-timeline-track--dragging{cursor:grabbing}.composite-timeline-track--dragging:hover{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.composite-timeline-track:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .4)}.composite-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.5rem;border:1px solid hsl(var(--border) / .3)}.composite-section-region{position:absolute;top:0;bottom:0;opacity:.15;pointer-events:auto;cursor:pointer;transition:opacity .15s ease}.composite-section-region--hovered{opacity:.3}.composite-section-boundary{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);pointer-events:auto;cursor:pointer;z-index:5}.composite-section-boundary-line{width:100%;height:100%;opacity:.5;transition:opacity .15s ease,width .15s ease}.composite-section-boundary--hovered .composite-section-boundary-line{opacity:1;width:3px}.composite-section-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.5rem .75rem;background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 4px 12px #0000004d;z-index:20;min-width:140px;pointer-events:none;animation:composite-tooltip-fade-in .15s ease}@keyframes composite-tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.composite-section-tooltip-header{margin-bottom:.375rem;padding-bottom:.375rem;border-bottom:1px solid hsl(var(--border) / .3)}.composite-section-tooltip-band{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.composite-section-tooltip-details{display:flex;flex-direction:column;gap:.25rem}.composite-section-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.composite-section-tooltip-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.composite-section-tooltip-value{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.composite-timeline-marker{position:absolute;top:0;transform:translate(-50%);height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.composite-timeline-marker-dot{border-radius:50%;cursor:pointer;pointer-events:auto;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 1px 3px #0003}.composite-timeline-marker:hover .composite-timeline-marker-dot{transform:scale(1.3);box-shadow:0 2px 6px #0000004d}.composite-timeline-marker--past{opacity:.4}.composite-timeline-marker--past .composite-timeline-marker-dot{opacity:.6}.composite-timeline-marker--balancer-shifted_to_downbeat .composite-timeline-marker-dot,.composite-timeline-marker--balancer-proximity_shift .composite-timeline-marker-dot{outline:1.5px dashed hsl(var(--foreground) / .5);outline-offset:1.5px;opacity:.85}.composite-timeline-marker--balancer-empty_measure_fill .composite-timeline-marker-dot{background-color:transparent!important;border:1.5px solid hsl(var(--primary) / .7);opacity:.85}.composite-timeline-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;width:2px;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.composite-timeline-now-line-inner{width:2px;height:100%;background:hsl(var(--foreground));opacity:.7;box-shadow:0 0 4px hsl(var(--foreground) / .8)}.composite-timeline-quickscroll{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.composite-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.composite-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.composite-timeline-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.composite-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.composite-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.composite-legend{display:flex;gap:1.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.composite-legend-item{display:flex;align-items:center;gap:.5rem}.composite-legend-marker{width:12px;height:12px;border-radius:2px}.composite-legend-label{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (max-width: 768px){.composite-summary{grid-template-columns:1fr}.composite-distribution-legend{flex-direction:column;gap:.5rem}.composite-timelines-header{flex-direction:column;align-items:flex-start}.composite-legend{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.composite-header{flex-direction:column;align-items:flex-start;gap:.5rem}.composite-stat-card,.composite-distribution-section,.composite-timelines-section{padding:.75rem}}.composite-stream-panel *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.composite-distribution-segment{transition:none}}.composite-shared-quickscroll{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .3)}.composite-shared-quickscroll-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.composite-shared-quickscroll-track{position:relative;height:1.5rem;background:hsl(var(--surface-3));border-radius:.375rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3);transition:background-color .15s ease,border-color .15s ease}.composite-shared-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.composite-shared-quickscroll-track--dragging{cursor:grabbing;background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .5)}.composite-shared-quickscroll-marker{position:absolute;top:2px;bottom:2px;width:2px;transform:translate(-50%);opacity:.5;border-radius:1px;transition:opacity .15s ease}.composite-shared-quickscroll-track:hover .composite-shared-quickscroll-marker{opacity:.7}.composite-shared-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .15);border-left:2px solid hsl(var(--primary) / .5);border-right:2px solid hsl(var(--primary) / .5);border-radius:.25rem;pointer-events:none;min-width:4px;transition:left .1s ease,width .1s ease}.composite-shared-quickscroll-position{position:absolute;top:-2px;bottom:-2px;width:3px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 6px hsl(var(--primary) / .8);z-index:10}.composite-shared-quickscroll-track:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.composite-shared-quickscroll-track:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.difficulty-conversion-panel{display:flex;flex-direction:column;gap:1rem}.difficulty-conversion-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.difficulty-conversion-panel-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.difficulty-conversion-panel-title svg{color:hsl(var(--primary))}.difficulty-conversion-panel-summary{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:hsl(var(--muted-foreground))}.difficulty-conversion-panel-summary-item{font-family:var(--font-mono)}.difficulty-conversion-panel-summary-divider{color:hsl(var(--border))}.density-meter{padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.density-meter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.density-meter-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.density-meter-value{font-size:.875rem;font-weight:700;font-family:var(--font-mono);color:hsl(var(--primary))}.density-meter-scale{position:relative;height:24px;background:linear-gradient(to right,#16a24933,#16a24933 40%,#f59f0a33 40%,#f59f0a33 70%,#ef434333 70%,#ef434333);border-radius:.25rem;border:1px solid hsl(var(--border));margin-bottom:1.75rem}.density-meter-threshold{position:absolute;top:0;bottom:0;width:2px;background:hsl(var(--border));z-index:1}.density-meter-threshold:after{content:attr(data-threshold);position:absolute;bottom:-16px;left:50%;transform:translate(-50%);font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);white-space:nowrap}.density-meter-threshold--sparse{left:40%}.density-meter-threshold--dense{left:70%}.density-meter-indicator{position:absolute;top:0;bottom:0;width:4px;transform:translate(-50%);z-index:2}.density-meter-indicator-marker{position:absolute;top:-3px;bottom:-3px;left:0;width:4px;border-radius:2px;box-shadow:0 0 0 2px hsl(var(--background)),0 2px 8px #0000004d}.density-meter-indicator-label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:0 6px;background:hsl(var(--background));border-radius:3px;box-shadow:0 1px 3px #00000026;border:1px solid hsl(var(--border) / .4)}.density-meter-zones{display:flex;justify-content:space-between;padding:0 .25rem;margin-bottom:.75rem}.density-meter-zone{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.density-meter-zone--easy{color:#16a249}.density-meter-zone--medium{color:#f59f0a}.density-meter-zone--hard{color:#ef4343}.density-meter-legend{display:flex;gap:1rem;justify-content:center;padding:.5rem;background:hsl(var(--surface-1));border-radius:.25rem;margin-bottom:.75rem}.density-meter-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}.density-meter-legend-color{width:12px;height:12px;border-radius:2px}.density-meter-legend-color--easy{background:#16a249}.density-meter-legend-color--easy{background:#16a24999;border:1px solid hsl(142 76% 36%)}.density-meter-legend-color--medium{background:#f59f0a99;border:1px solid hsl(38 92% 50%)}.density-meter-legend-color--hard{background:#ef434399;border:1px solid hsl(0 84% 60%)}.density-meter-description{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--surface-1));border-radius:.25rem;border-left:3px solid hsl(var(--primary))}.density-meter-category{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--primary))}.density-meter-description-text{font-size:.75rem;color:hsl(var(--muted-foreground))}.difficulty-conversion-baseline{padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.difficulty-conversion-baseline-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.5rem}.difficulty-conversion-baseline-timeline{position:relative}.difficulty-conversion-baseline-track{position:relative;height:20px;background:hsl(var(--surface-1));border-radius:.25rem;overflow:hidden}.difficulty-conversion-baseline-track--draggable{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.difficulty-conversion-baseline-track--draggable:hover{background:hsl(var(--surface-2))}.difficulty-conversion-baseline-track--dragging{cursor:grabbing;background:hsl(var(--surface-2))}.difficulty-conversion-baseline-track--draggable:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.difficulty-conversion-baseline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;opacity:.6;transition:opacity .1s ease}.difficulty-conversion-baseline-marker:hover{opacity:1;transform:translate(-50%,-50%) scale(1.3)}.difficulty-conversion-baseline-marker--balancer-shifted_to_downbeat,.difficulty-conversion-baseline-marker--balancer-proximity_shift{outline:1.5px dashed hsl(var(--foreground) / .5);outline-offset:1.5px;opacity:.85}.difficulty-conversion-baseline-marker--balancer-empty_measure_fill{background-color:transparent!important;border:1.5px solid hsl(var(--primary) / .7);opacity:.85}.difficulty-conversion-balance-stats{font-weight:400;color:hsl(var(--muted-foreground) / .7);font-size:.7rem;margin-left:.5rem}.difficulty-conversion-balance-stats span+span:before{content:""}.difficulty-conversion-baseline-playhead{position:absolute;top:0;bottom:0;width:2px;background:hsl(var(--foreground));opacity:.8;z-index:5;pointer-events:none}.difficulty-conversion-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.difficulty-conversion-column{display:flex;flex-direction:column;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.difficulty-conversion-column:hover{border-color:color-mix(in srgb,var(--variant-color) 40%,transparent)}.difficulty-conversion-column--natural{border-color:color-mix(in srgb,var(--variant-color) 50%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--variant-color) 20%,transparent)}.difficulty-conversion-header{padding:1rem;background:hsl(var(--surface-3));border-bottom:1px solid hsl(var(--border));position:relative}.difficulty-conversion-title-row{display:flex;align-items:center;justify-content:space-between}.difficulty-conversion-title{font-size:1rem;font-weight:700;color:hsl(var(--foreground))}.difficulty-conversion-natural-badge{display:flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--success));background:hsl(var(--success) / .15);padding:.25rem .5rem;border-radius:.25rem}.difficulty-conversion-natural-badge svg{width:12px;height:12px}.difficulty-conversion-edit-type{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}.difficulty-conversion-edit-type svg{width:14px;height:14px}.difficulty-conversion-indicator{position:absolute;bottom:0;left:0;right:0;height:3px}.difficulty-conversion-beat-count{display:flex;align-items:baseline;gap:.375rem;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border) / .3)}.difficulty-conversion-beat-count-value{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.difficulty-conversion-beat-count-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.difficulty-conversion-density{padding:.625rem 1rem;background:hsl(var(--surface-1));border-bottom:1px solid hsl(var(--border) / .3)}.difficulty-conversion-density-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.difficulty-conversion-density-label{font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.difficulty-conversion-density-value{font-size:.875rem;font-weight:700;font-family:var(--font-mono);color:var(--variant-color)}.difficulty-conversion-density-unit{font-size:.625rem;font-weight:400;color:hsl(var(--muted-foreground));margin-left:.25rem}.difficulty-conversion-density-bar{position:relative;margin-top:.375rem}.difficulty-conversion-density-bar-track{position:relative;height:8px;background:hsl(var(--surface-2));border-radius:4px;overflow:visible;border:1px solid hsl(var(--border) / .3)}.difficulty-conversion-density-bar-zone{position:absolute;top:0;bottom:0;opacity:.3}.difficulty-conversion-density-bar-zone--easy{left:0;background:#16a249;border-radius:3px 0 0 3px}.difficulty-conversion-density-bar-zone--medium{background:#f59f0a}.difficulty-conversion-density-bar-zone--hard{right:0;background:#ef4343;border-radius:0 3px 3px 0}.difficulty-conversion-density-bar-indicator{position:absolute;top:-2px;bottom:-2px;width:3px;background:var(--variant-color);border-radius:2px;transform:translate(-50%);box-shadow:0 0 0 2px hsl(var(--background)),0 1px 4px #0000004d;z-index:2}.difficulty-conversion-density-bar-threshold{position:absolute;top:-4px;bottom:-4px;width:1px;background:hsl(var(--border));z-index:1}.difficulty-conversion-density-bar-threshold span{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);font-size:.5rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);white-space:nowrap}.difficulty-conversion-density-info{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding-top:.375rem}.difficulty-conversion-density-quarters{font-size:.5625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.difficulty-conversion-density-status{font-size:.5625rem;font-weight:600;padding:.125rem .375rem;border-radius:2px}.difficulty-conversion-density-status--correct{color:#16a249;background:#16a24926}.difficulty-conversion-density-status--too-high{color:#ef4343;background:#ef434326}.difficulty-conversion-density-status--too-low{color:#f59f0a;background:#f59f0a26}.difficulty-conversion-density-status--unknown{color:hsl(var(--muted-foreground))}.difficulty-conversion-variant-details{display:flex;gap:.375rem;padding:.5rem 1rem;background:hsl(var(--surface-1));border-top:1px solid hsl(var(--border) / .3);border-bottom:1px solid hsl(var(--border) / .3)}.difficulty-conversion-variant-detail{display:flex;flex-direction:column;align-items:center;flex:1;gap:.25rem;min-width:0}.difficulty-conversion-variant-detail--full-width{flex-direction:row;justify-content:space-between}.difficulty-conversion-variant-detail-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.difficulty-conversion-variant-detail-value{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground))}.difficulty-conversion-variant-detail-value--grid{font-family:var(--font-mono);color:hsl(var(--primary))}.difficulty-conversion-diff-timeline{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border) / .3)}.difficulty-conversion-diff-track{position:relative;height:32px;background:hsl(var(--surface-1));border-radius:.25rem;overflow:hidden}.difficulty-conversion-diff-marker{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;transition:opacity .1s ease,transform .1s ease}.difficulty-conversion-diff-marker:hover{transform:translate(-50%,-50%) scale(1.3);z-index:10}.difficulty-conversion-diff-marker--active{opacity:.7}.difficulty-conversion-diff-marker--active:hover{opacity:1}.difficulty-conversion-diff-marker--ghost{width:6px;height:6px;background:transparent;border:2px dashed hsl(var(--muted-foreground));opacity:.4}.difficulty-conversion-diff-marker--ghost:hover{opacity:.7}.difficulty-conversion-diff-marker--added{width:8px;height:8px;background:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .3);opacity:.9}.difficulty-conversion-diff-marker--added:hover{opacity:1;box-shadow:0 0 0 3px hsl(var(--primary) / .4)}.difficulty-conversion-diff-playhead{position:absolute;top:0;bottom:0;width:2px;background:hsl(var(--foreground));opacity:.8;z-index:5;pointer-events:none}.difficulty-conversion-stats{display:flex;gap:.5rem;padding:.75rem 1rem}.difficulty-conversion-stats--simplified{background:hsl(var(--warning) / .05)}.difficulty-conversion-stats--enhanced{background:hsl(var(--primary) / .05)}.difficulty-conversion-stats--none{background:hsl(var(--success) / .05)}.difficulty-conversion-stat{display:flex;flex-direction:column;align-items:center;flex:1;gap:.125rem}.difficulty-conversion-stat--full{flex:none;width:100%}.difficulty-conversion-stat-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));text-align:center}.difficulty-conversion-stat-value{font-size:.75rem;font-weight:600;font-family:var(--font-mono)}.difficulty-conversion-stats--simplified .difficulty-conversion-stat-value{color:hsl(var(--warning))}.difficulty-conversion-stats--enhanced .difficulty-conversion-stat-value{color:hsl(var(--primary))}.difficulty-conversion-stats--none .difficulty-conversion-stat-value{color:hsl(var(--success))}.difficulty-conversion-legend{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.difficulty-conversion-legend-title{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground))}.difficulty-conversion-legend-items{display:flex;flex-wrap:wrap;gap:.75rem}.difficulty-conversion-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:hsl(var(--foreground))}.difficulty-conversion-legend-marker{width:8px;height:8px;border-radius:50%}.difficulty-conversion-legend-marker--active{background:hsl(var(--foreground) / .7)}.difficulty-conversion-legend-marker--ghost{width:6px;height:6px;background:transparent;border:2px dashed hsl(var(--muted-foreground));opacity:.5}.difficulty-conversion-legend-marker--added{background:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .3)}@media (max-width: 900px){.difficulty-conversion-columns{grid-template-columns:1fr}.difficulty-conversion-column{max-width:400px;margin:0 auto;width:100%}}@media (max-width: 768px){.difficulty-conversion-panel-header{flex-direction:column;align-items:flex-start;gap:.5rem}.difficulty-conversion-panel-summary{flex-wrap:wrap}.difficulty-conversion-legend{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width: 480px){.difficulty-conversion-header{padding:.75rem}.difficulty-conversion-beat-count,.difficulty-conversion-diff-timeline,.difficulty-conversion-stats,.difficulty-conversion-baseline{padding:.5rem .75rem}}.difficulty-conversion-panel *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.difficulty-conversion-column,.difficulty-conversion-diff-marker,.difficulty-conversion-baseline-marker{transition:none}}.difficulty-conversion-density-config{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .625rem;background-color:hsl(var(--surface-2));border-radius:var(--radius);border:1px solid hsl(var(--border));font-size:.7rem}.difficulty-conversion-density-clamped{padding:.25rem .5rem;background-color:hsl(var(--warning) / .1);border:1px solid hsl(var(--warning) / .3);border-radius:var(--radius);color:hsl(var(--warning));font-size:.65rem;text-align:center}.variant-comparison-view{display:flex;flex-direction:column;gap:1rem;font-family:var(--font-sans)}.variant-comparison-loading{display:flex;align-items:center;justify-content:center;min-height:120px;color:hsl(var(--muted-foreground));font-size:.875rem}.variant-comparison-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.variant-comparison-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.variant-comparison-title svg{color:hsl(var(--primary))}.variant-comparison-controls{display:flex;align-items:center;gap:.5rem}.variant-comparison-zoom-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid hsl(var(--border));border-radius:.25rem;background:hsl(var(--surface-2));color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease}.variant-comparison-zoom-btn:hover{border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.variant-comparison-zoom-btn:disabled{opacity:.5;cursor:not-allowed}.variant-comparison-zoom-btn svg{width:14px;height:14px}.variant-comparison-summary{display:flex;align-items:center;gap:1.5rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.variant-comparison-stat{display:flex;align-items:center;gap:.5rem}.variant-comparison-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.variant-comparison-stat-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.variant-comparison-stat-divider{width:1px;height:1rem;background:hsl(var(--border));margin:0 .25rem}.variant-comparison-rows{display:flex;flex-direction:column;gap:.5rem}.variant-comparison-row{position:relative;display:flex;align-items:stretch;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border));overflow:hidden;transition:border-color .2s ease}.variant-comparison-row:hover{border-color:hsl(var(--border))}.variant-comparison-row-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.125rem;padding:.375rem .5rem;width:80px;flex-shrink:0;background:hsl(var(--surface-3));border-right:1px solid hsl(var(--border) / .3)}.variant-comparison-row-name{display:flex;align-items:center;gap:.25rem;font-weight:600;font-size:.75rem;color:hsl(var(--foreground));line-height:1.2}.variant-comparison-row-badge{display:flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:.25rem;color:hsl(var(--success));background:hsl(var(--success) / .15)}.variant-comparison-row-badge svg{width:10px;height:10px}.variant-comparison-row-count{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));font-family:var(--font-mono);line-height:1}.variant-comparison-row-density{height:4px;background:hsl(var(--surface-1));border-radius:2px;margin-top:.5rem;overflow:hidden}.variant-comparison-density-fill{height:100%;border-radius:2px;transition:width .2s ease}.variant-comparison-timeline-container{position:relative;flex:1;height:48px;overflow-x:hidden;cursor:grab}.variant-comparison-timeline-container--draggable{cursor:grab}.variant-comparison-timeline-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-1)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-1)));border-radius:0 .25rem .25rem 0}.variant-comparison-timeline-container:before{content:"";position:absolute;left:0;right:0;top:50%;height:12px;border-top:1px solid hsl(var(--border) / .3);transform:translateY(-50%)}.variant-comparison-timeline-container:after{content:"";position:absolute;left:0;right:0;top:50%;height:12px;border-bottom:1px solid hsl(var(--border) / .3);transform:translateY(-50%)}.variant-comparison-grid-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .5);pointer-events:none;z-index:5}.variant-comparison-grid-line--strong{width:2px;background:hsl(var(--primary) / .35)}.variant-comparison-grid-line--measure{background:hsl(var(--muted-foreground) / .3);width:2px}.variant-comparison-grid-label{position:absolute;top:2px;left:3px;font-size:.5rem;font-weight:600;color:hsl(var(--muted-foreground) / .6);pointer-events:none;font-family:var(--font-mono)}.variant-comparison-subdivision-line{position:absolute;top:0;bottom:0;width:1px;height:100%;background:hsl(var(--border) / .25);pointer-events:none;z-index:4}.variant-comparison-beat{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;transition:transform .15s ease,background-color .15s ease;pointer-events:auto;cursor:pointer;z-index:10}.variant-comparison-beat:hover{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 0 4px currentColor;z-index:20}.variant-comparison-beat-intensity{position:absolute;bottom:-2px;left:50%;width:4px;height:4px;background:currentColor;border-radius:50%;opacity:.5}.variant-comparison-playhead{position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(180deg,hsl(var(--primary) / .2),hsl(var(--primary)),hsl(var(--primary) / .2));z-index:30;pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .4)}.variant-comparison-now-line{position:absolute;top:0;left:50%;transform:translate(-50%);height:100%;width:2px;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.variant-comparison-now-line-inner{width:2px;height:100%;opacity:.7;box-shadow:0 0 4px currentColor}.variant-comparison-beat--past{opacity:.4!important}.variant-comparison-beat--past .variant-comparison-beat{opacity:.6}.variant-comparison-time-label{position:absolute;bottom:-1.5rem;left:0;font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);pointer-events:none}.variant-comparison-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:.375rem;border:1px solid hsl(var(--border) / .3)}.variant-comparison-legend-item{display:flex;align-items:center;gap:.375rem}.variant-comparison-legend-marker{width:10px;height:10px;border-radius:50%}.variant-comparison-legend-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (max-width: 768px){.variant-comparison-view{gap:.75rem}.variant-comparison-header{flex-direction:column;align-items:flex-start;gap:.5rem}.variant-comparison-controls{flex-wrap:wrap;gap:.25rem}.variant-comparison-summary{flex-wrap:wrap;gap:.5rem}.variant-comparison-row-label{width:65px;padding:.25rem .375rem}.variant-comparison-timeline-container{height:40px}}@media (max-width: 480px){.variant-comparison-view{gap:.5rem}.variant-comparison-header{padding:.5rem}.variant-comparison-controls{gap:.25rem}.variant-comparison-summary{flex-direction:column;gap:.25rem}.variant-comparison-rows{gap:.25rem}.variant-comparison-row{flex-direction:column}.variant-comparison-row-label{width:100%;flex-direction:row;flex-wrap:wrap;gap:.375rem}.variant-comparison-row-count{font-size:.6875rem}.variant-comparison-legend{flex-direction:column;gap:.25rem}}@media (prefers-reduced-motion: reduce){.variant-comparison-beat{transition:none}}.variant-comparison-control{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid hsl(var(--border));border-radius:.25rem;background:hsl(var(--surface-2));color:hsl(var(--muted-foreground));cursor:pointer;transition:background .15s ease,border-color .15s ease}.variant-comparison-control:hover{border-color:hsl(var(--primary) / .5);color:hsl(var(--primary));background:hsl(var(--surface-3))}.variant-comparison-control--active{border-color:hsl(var(--primary) / .5);color:hsl(var(--primary));background:hsl(var(--primary) / .15)}.variant-comparison-zoom-level{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));font-family:var(--font-mono);min-width:40px;text-align:center}.variant-comparison-summary-item{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600}.variant-comparison-summary-label{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-left:.25rem}.variant-comparison-summary-value{font-family:var(--font-mono)}.variant-comparison-ruler{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;border-bottom:1px solid hsl(var(--border) / .3)}.variant-comparison-ruler-label{width:80px;flex-shrink:0;padding:0 .5rem;font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.variant-comparison-ruler-track{flex:1;position:relative;height:20px}.variant-comparison-ruler-tick{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.variant-comparison-ruler-time{font-size:.625rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.variant-comparison-track{position:relative;flex:1;height:48px;overflow:hidden;cursor:grab}.variant-comparison-track--dragging{cursor:grabbing}.variant-comparison-track-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,hsl(var(--surface-1)),hsl(var(--surface-2)) 30%,hsl(var(--surface-2)) 70%,hsl(var(--surface-1)))}.variant-comparison-density{height:4px;background:hsl(var(--surface-1));border-radius:0 0 .5rem .5rem;overflow:hidden}.variant-comparison-legend-section{display:flex;align-items:center;gap:.5rem}.variant-comparison-legend-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));margin-right:.25rem}.variant-comparison-legend-size{display:flex;align-items:center;gap:.25rem}.variant-comparison-legend-size-small{width:6px;height:6px;border-radius:50%;background:hsl(var(--muted-foreground))}.variant-comparison-legend-size-large{width:14px;height:14px;border-radius:50%;background:hsl(var(--muted-foreground))}.variant-comparison-legend-gridline{width:1px;height:14px;background:hsl(var(--border) / .5);border-radius:1px}.variant-comparison-legend-gridline--strong{width:2px;background:hsl(var(--primary) / .35)}.variant-comparison-instructions{display:flex;justify-content:center;gap:1.5rem;padding:.5rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}.variant-comparison-instructions span:before{content:"•";margin-right:.375rem;color:hsl(var(--border))}.variant-comparison-quickscroll{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.variant-comparison-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.variant-comparison-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.variant-comparison-quickscroll-track.dragging{cursor:grabbing;border-color:hsl(var(--primary) / .5)}.variant-comparison-quickscroll-marker{position:absolute;top:0;bottom:0;width:1px;background:hsl(var(--muted-foreground) / .2);transform:translate(-50%);pointer-events:none}.variant-comparison-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.variant-comparison-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .8)}.phrase-pattern-card{display:flex;align-items:stretch;gap:1rem;padding:1rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:.5rem;cursor:pointer;transition:all .2s ease;position:relative}.phrase-pattern-card:hover{border-color:color-mix(in srgb,var(--phrase-band-color) 40%,transparent);background:hsl(var(--surface-3))}.phrase-pattern-card.selected{border-color:var(--phrase-band-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--phrase-band-color) 20%,transparent)}.phrase-pattern-card:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.phrase-pattern-card-index{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-width:3rem}.phrase-pattern-card-number{font-size:1rem;font-weight:700;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.phrase-pattern-card-band-indicator{width:4px;height:100%;min-height:2rem;border-radius:2px;flex:1}.phrase-pattern-card-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.phrase-pattern-card-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.phrase-pattern-card-size{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.phrase-pattern-card-band{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--phrase-band-color);font-weight:600}.phrase-pattern-card-badge{font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .375rem;border-radius:.25rem;font-weight:600}.phrase-pattern-card-badge.variation{background:hsl(var(--info) / .15);color:hsl(var(--info))}.phrase-pattern-card-badge.reusable{background:hsl(var(--success) / .15);color:hsl(var(--success))}.phrase-pattern-card-stats{display:flex;gap:1rem}.phrase-pattern-card-stat{display:flex;flex-direction:column;gap:.125rem}.phrase-pattern-card-stat-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.phrase-pattern-card-stat-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));font-family:var(--font-mono)}.phrase-pattern-card-selected-indicator{display:flex;align-items:center;justify-content:center;padding:.5rem;color:var(--phrase-band-color)}.phrase-mini-pattern{display:grid;grid-template-columns:repeat(auto-fill,minmax(6px,1fr));gap:2px;padding:.5rem;background:hsl(var(--surface-1));border-radius:.25rem;height:1.5rem}.phrase-pattern-cell{width:6px;height:6px;border-radius:1px;background:hsl(var(--surface-3));transition:background-color .1s ease}.phrase-pattern-cell.beat-start{border-left:1px solid hsl(var(--border) / .5)}.phrase-pattern-cell.has-beat{border-radius:2px;transition:transform .1s ease}.phrase-pattern-card:hover .phrase-pattern-cell.has-beat{transform:scale(1.1)}@media (max-width: 768px){.phrase-pattern-card{padding:.75rem}.phrase-pattern-card-index{min-width:2.5rem}.phrase-pattern-card-stats{flex-wrap:wrap;gap:.75rem}}@media (max-width: 480px){.phrase-pattern-card{flex-direction:column;gap:.75rem}.phrase-pattern-card-index{flex-direction:row;justify-content:flex-start;width:100%}.phrase-pattern-card-band-indicator{width:100%;height:3px;min-height:unset}}@media (prefers-reduced-motion: reduce){.phrase-pattern-card,.phrase-pattern-cell.has-beat{transition:none}}.phrase-detection-panel{display:flex;flex-direction:column;gap:1rem}.phrase-detection-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid hsl(var(--border))}.phrase-detection-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.phrase-detection-title svg{color:hsl(var(--primary))}.phrase-detection-count{display:flex;align-items:baseline;gap:.375rem}.phrase-detection-count-value{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:var(--font-mono)}.phrase-detection-count-label{font-size:.8125rem;color:hsl(var(--muted-foreground))}.phrase-summary-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.phrase-summary-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.phrase-summary-stat-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));font-family:var(--font-mono)}.phrase-summary-stat-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));text-align:center}.phrase-sort-control{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.phrase-sort-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.phrase-sort-button{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:.375rem;font-size:.75rem;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.phrase-sort-button:hover{background:hsl(var(--surface-3));color:hsl(var(--foreground))}.phrase-sort-button.active{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3);color:hsl(var(--primary))}.phrase-sort-button svg{width:12px;height:12px}.phrase-list--virtualized{border-radius:.5rem;border:1px solid hsl(var(--border));background:hsl(var(--surface-1))}.phrase-list--virtualized::-webkit-scrollbar{width:8px}.phrase-list--virtualized::-webkit-scrollbar-track{background:hsl(var(--surface-2));border-radius:.5rem}.phrase-list--virtualized::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:.5rem}.phrase-list--virtualized::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .3)}.phrase-selection-hint{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .2);border-radius:.5rem;font-size:.8125rem;color:hsl(var(--primary))}.phrase-selection-hint svg{flex-shrink:0}.phrase-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background:hsl(var(--surface-2));border-radius:.5rem;border:1px solid hsl(var(--border))}.phrase-empty-icon{color:hsl(var(--muted-foreground));opacity:.5;margin-bottom:1rem}.phrase-empty-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.phrase-empty-text{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0;max-width:300px}@media (max-width: 768px){.phrase-detection-header{flex-direction:column;align-items:flex-start;gap:.5rem}.phrase-summary-stats{grid-template-columns:repeat(2,1fr)}.phrase-sort-control{width:100%;justify-content:flex-start}}@media (max-width: 480px){.phrase-summary-stats{grid-template-columns:1fr 1fr;padding:.75rem}.phrase-sort-button{padding:.25rem .5rem;font-size:.6875rem}.phrase-sort-button span{display:none}}.phrase-detection-panel *:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.phrase-sort-button{transition:none}}.timeline-controls{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0000004d;border-radius:.75rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.timeline-controls:focus{outline:none}.timeline-controls-time{display:flex;align-items:baseline;gap:.25rem;min-width:5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem}.timeline-controls-time-current{font-weight:600;color:#ffffffe6}.timeline-controls-time-separator{color:#fff6}.timeline-controls-time-total{color:#ffffff80}.timeline-controls-playback{display:flex;align-items:center;gap:.5rem}.timeline-controls-play-btn{min-width:2.5rem;min-height:2.5rem;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center}.timeline-controls-skip-btn{opacity:.7;transition:opacity .15s ease}.timeline-controls-skip-btn:hover{opacity:1}.timeline-controls-skip-btn:disabled{opacity:.3;cursor:not-allowed}.timeline-controls-scrubber{flex:1;min-width:100px}.timeline-scrubber-track{position:relative;height:2rem;display:flex;align-items:center;cursor:pointer;border-radius:.5rem;overflow:visible}.timeline-scrubber-track:hover{background:#ffffff0d}.timeline-scrubber-track--dragging{cursor:grabbing}.timeline-scrubber-track:before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);background:#ffffff1a;border-radius:2px}.timeline-scrubber-buffered{position:absolute;top:50%;height:4px;transform:translateY(-50%);background:#fff3;border-radius:2px;pointer-events:none}.timeline-scrubber-progress{position:absolute;left:0;top:50%;height:4px;transform:translateY(-50%);background:linear-gradient(90deg,hsl(var(--primary) / .8),hsl(var(--primary)));border-radius:2px;pointer-events:none;transition:width .1s ease-out}.timeline-scrubber-track--dragging .timeline-scrubber-progress{transition:none}.timeline-scrubber-hover{position:absolute;top:50%;transform:translate(-50%) translateY(-50%);width:2px;height:12px;background:#ffffff80;border-radius:1px;pointer-events:none;z-index:5}.timeline-scrubber-hover-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:.25rem .5rem;background:#000000e6;color:#fff;font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;border-radius:.25rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s ease}.timeline-scrubber-track:hover .timeline-scrubber-hover-tooltip{opacity:1}.timeline-scrubber-handle{position:absolute;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;pointer-events:none;z-index:10;transition:transform .1s ease}.timeline-scrubber-track:hover .timeline-scrubber-handle,.timeline-scrubber-track--dragging .timeline-scrubber-handle{transform:translate(-50%,-50%) scale(1.2)}.timeline-controls-zoom{display:flex;align-items:center;gap:.25rem}.timeline-controls-zoom-btn{opacity:.7;transition:opacity .15s ease}.timeline-controls-zoom-btn:hover{opacity:1}.timeline-controls-zoom-btn:disabled{opacity:.3;cursor:not-allowed}.timeline-controls-zoom-level{font-size:.75rem;color:#fff9;min-width:2.5rem;text-align:center;font-family:JetBrains Mono,Fira Code,monospace}@media (max-width: 768px){.timeline-controls{flex-wrap:wrap;gap:.75rem;padding:.5rem .75rem}.timeline-controls-time{order:1;flex:0 0 auto}.timeline-controls-playback{order:2;flex:0 0 auto}.timeline-controls-zoom{order:4;flex:0 0 auto}.timeline-controls-scrubber{order:3;flex:1 1 100%}.timeline-controls-skip-btn{display:none}.timeline-scrubber-track{height:1.5rem}}@media (max-width: 480px){.timeline-controls-time{font-size:.75rem;min-width:4rem}.timeline-controls-play-btn{min-width:2rem;min-height:2rem}.timeline-controls-play-btn svg{width:16px;height:16px}.timeline-controls-zoom-level{display:none}}.timeline-scrubber-track:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:.5rem}@media (prefers-reduced-motion: reduce){.timeline-scrubber-progress,.timeline-scrubber-handle,.timeline-controls-skip-btn,.timeline-controls-zoom-btn{transition:none}}@media (prefers-color-scheme: light){.timeline-controls{background:#0000001a}.timeline-scrubber-track:before{background:#0000001a}.timeline-scrubber-buffered{background:#00000026}.timeline-scrubber-hover-tooltip{background:#000000d9}}.level-generation-debug-panel{padding:16px;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.level-debug-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #2a2a4a)}.level-debug-header-icon{color:#22c55e;animation:pulse-green 2s infinite}@keyframes pulse-green{0%,to{opacity:1}50%{opacity:.7}}.level-debug-header-title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary, #e0e0e0)}.level-debug-section{margin-bottom:20px}.level-debug-section:last-child{margin-bottom:0}.level-debug-section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-secondary, #a0a0b0);text-transform:uppercase;letter-spacing:.5px}.level-debug-subsection-title{margin:12px 0 8px;font-size:13px;font-weight:500;color:var(--text-secondary, #a0a0b0)}.level-debug-stats-container{background:var(--bg-tertiary, #0f0f1a);border-radius:6px;padding:12px}.level-debug-stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.level-debug-stat-row:last-child{border-bottom:none}.level-debug-stat-label{font-size:13px;color:var(--text-secondary, #a0a0b0)}.level-debug-stat-value{font-size:13px;font-weight:500;color:var(--text-primary, #e0e0e0);font-family:JetBrains Mono,Fira Code,monospace}.level-debug-badge{background:var(--accent-primary, #6366f1);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.level-debug-beat-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.level-debug-beat-count{display:flex;flex-direction:column;align-items:center;padding:12px;border-radius:8px;background:var(--bg-tertiary, #0f0f1a);border:1px solid var(--border-color, #2a2a4a);transition:transform .2s,box-shadow .2s}.level-debug-beat-count:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.beat-count-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);margin-bottom:4px}.beat-count-value{font-size:24px;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace}.difficulty-natural .beat-count-value{color:#8b5cf6}.difficulty-natural{border-color:#8b5cf6}.difficulty-easy .beat-count-value{color:#22c55e}.difficulty-easy{border-color:#22c55e}.difficulty-medium .beat-count-value{color:#f59e0b}.difficulty-medium{border-color:#f59e0b}.difficulty-hard .beat-count-value{color:#ef4444}.difficulty-hard{border-color:#ef4444}.level-debug-direction-stats,.level-debug-interval-stats{margin-top:12px}.level-debug-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.level-debug-stat-item{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:6px;background:var(--bg-tertiary, #0f0f1a);font-size:11px}.level-debug-direction-arrow{font-size:18px;margin-bottom:2px}.level-debug-direction-label,.level-debug-interval-label{color:var(--text-secondary, #a0a0b0);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.level-debug-direction-count,.level-debug-interval-count{font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.level-debug-direction-percent,.level-debug-interval-percent{font-size:10px;color:var(--text-muted, #6a6a7a);margin-top:2px}.direction-up .level-debug-direction-arrow{color:#22c55e}.direction-down .level-debug-direction-arrow{color:#ef4444}.direction-stable .level-debug-direction-arrow{color:#3b82f6}.direction-none .level-debug-direction-arrow{color:#6b7280}.interval-unison{border-left:3px solid #8b5cf6}.interval-small{border-left:3px solid #22c55e}.interval-medium{border-left:3px solid #f59e0b}.interval-large{border-left:3px solid #f97316}.interval-very-large{border-left:3px solid #ef4444}@media (max-width: 640px){.level-debug-beat-counts,.level-debug-stats-grid{grid-template-columns:repeat(2,1fr)}}.data-contract-validator{padding:16px;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.data-contract-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #2a2a4a)}.data-contract-header-icon{color:var(--text-muted, #6a6a7a);flex-shrink:0}.data-contract-header-icon.valid{color:#22c55e}.data-contract-header-icon.invalid{color:#ef4444}.data-contract-header-icon.spinning{animation:spin 1s linear infinite;color:var(--accent-primary, #6366f1)}.data-contract-header-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #e0e0e0);flex:1}.data-contract-status-badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.data-contract-status-badge.valid{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.4)}.data-contract-status-badge.invalid{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.4)}.data-contract-summary{display:flex;align-items:center;gap:8px;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px;font-weight:500}.data-contract-summary.valid{background:#22c55e1a;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.data-contract-summary.invalid{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.data-contract-fields{display:flex;flex-direction:column;gap:6px}.data-contract-field{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;font-size:13px}.data-contract-field.valid{border-left:3px solid #22c55e}.data-contract-field.invalid{border-left:3px solid #ef4444;background:#ef44440d}.data-contract-field-icon{flex-shrink:0}.data-contract-field.valid .data-contract-field-icon{color:#22c55e}.data-contract-field.invalid .data-contract-field-icon{color:#ef4444}.data-contract-field-name{font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;color:var(--text-secondary, #a0a0b0);min-width:180px}.data-contract-field-message{color:var(--text-primary, #e0e0e0);flex:1}.data-contract-errors{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px}.data-contract-errors-title{margin:0 0 8px;font-size:13px;font-weight:600;color:#ef4444;text-transform:uppercase;letter-spacing:.5px}.data-contract-errors-list{margin:0;padding:0 0 0 20px;list-style-type:disc}.data-contract-error-item{font-size:12px;color:var(--text-primary, #e0e0e0);margin-bottom:4px;font-family:JetBrains Mono,Fira Code,monospace}.data-contract-error-item:last-child{margin-bottom:0}.data-contract-retry-button{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;background:var(--accent-primary, #6366f1);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.data-contract-retry-button:hover{background:var(--accent-primary-hover, #4f46e5)}.data-contract-retry-button:active{transform:scale(.98)}.data-contract-success{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;color:#22c55e;font-size:14px;font-weight:500}@media (max-width: 640px){.data-contract-field{flex-wrap:wrap}.data-contract-field-name{min-width:auto;width:100%;margin-bottom:4px}.data-contract-field-message{padding-left:26px}}.pitch-level-tab{min-height:400px}.pitch-level-section{display:flex;flex-direction:column;gap:1.5rem}.pitch-level-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.pitch-level-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--destructive) / .05);border-radius:.75rem;border:1px solid hsl(var(--destructive) / .2)}.pitch-level-error-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--destructive));opacity:.8}.pitch-level-error-title{font-size:1.25rem;font-weight:600;color:hsl(var(--destructive));margin:0}.pitch-level-error-message{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px;margin:0}.pitch-level-error-actions{display:flex;gap:.75rem;margin-top:.5rem}.pitch-level-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px solid hsl(var(--border))}.pitch-level-loading-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));animation:pitch-level-pulse 1.5s ease-in-out infinite}@keyframes pitch-level-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pitch-level-loading-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.pitch-level-progress-bar-container{width:100%;max-width:400px;height:10px;background:hsl(var(--surface-3));border-radius:var(--radius-full);overflow:hidden}.pitch-level-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:var(--radius-full);transition:width .3s ease}.pitch-level-loading-message{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;max-width:400px;line-height:1.5}.pitch-level-loading-stage{display:flex;align-items:center;gap:.5rem;font-size:.75rem;padding:.5rem .75rem;background:hsl(var(--surface-3));border-radius:var(--radius-md)}.pitch-level-stage-label{color:hsl(var(--muted-foreground))}.pitch-level-stage-value{font-weight:600;color:hsl(var(--primary));text-transform:capitalize}.pitch-level-result{display:flex;flex-direction:column;gap:1.5rem}.pitch-level-result-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:hsl(var(--success) / .05);border-radius:.75rem;border:1px solid hsl(var(--success) / .2)}.pitch-level-result-icon{color:hsl(var(--success))}.pitch-level-result-title{font-size:1.25rem;font-weight:600;color:hsl(var(--success));margin:0}.pitch-level-visualizations{display:flex;flex-direction:column;gap:.5rem}.pitch-level-panel-placeholder{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:hsl(var(--surface-2));border-radius:.5rem;border:1px dashed hsl(var(--border));color:hsl(var(--muted-foreground))}.pitch-level-panel-placeholder p{margin:0;font-size:.875rem}.pitch-level-panel-placeholder ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:hsl(var(--muted-foreground))}.pitch-level-panel-placeholder li{margin:.25rem 0}.pitch-level-panel-note{font-size:.75rem!important;font-style:italic;opacity:.8;border-top:1px solid hsl(var(--border));padding-top:.75rem;margin-top:.5rem}.pitch-level-proceed{display:flex;justify-content:center;padding-top:1rem}.pitch-level-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px dashed hsl(var(--border))}.pitch-level-placeholder-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));opacity:.6}.pitch-level-placeholder-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0}.pitch-level-placeholder-text{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.6;max-width:450px;margin:0}.pitch-level-pending{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:.75rem;background:hsl(var(--surface-2));border-radius:.75rem;border:1px solid hsl(var(--border))}.pitch-level-pending-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));opacity:.6;animation:pitch-level-pulse 2s ease-in-out infinite}.pitch-level-pending-text{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}@media (max-width: 768px){.pitch-level-loading,.pitch-level-error,.pitch-level-placeholder{padding:2rem 1.5rem}.pitch-level-result-header{padding:1.25rem}.pitch-level-error-actions{flex-direction:column;width:100%}.pitch-level-error-actions button{width:100%}}@media (max-width: 480px){.pitch-level-loading,.pitch-level-error,.pitch-level-placeholder{padding:1.5rem 1rem}.pitch-level-loading-icon,.pitch-level-error-icon,.pitch-level-placeholder-icon{width:40px;height:40px}.pitch-level-loading-title,.pitch-level-error-title,.pitch-level-result-title,.pitch-level-placeholder-title{font-size:1.125rem}.pitch-level-progress-bar-container{height:8px}}.pitch-level-tab .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.level-progress{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:1.5rem;width:100%}.level-progress__bar-container{width:100%;max-width:400px;height:10px;background:hsl(var(--surface-3));border-radius:var(--radius-full);overflow:hidden}.level-progress__bar{height:100%;background:linear-gradient(90deg,hsl(var(--cute-purple)),hsl(var(--primary)));border-radius:var(--radius-full);transition:width .3s ease}.level-progress__percentage{font-size:.875rem;font-weight:600;font-family:var(--font-mono);color:hsl(var(--muted-foreground));min-width:3rem;text-align:right}.level-progress__message{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;margin:0;max-width:400px;line-height:1.5}.level-progress__stages{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%}.level-progress__divider{width:100%;height:1px;background:hsl(var(--border));margin:.5rem 0}.level-progress-stage{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--surface-2));border-radius:var(--radius-md);border:1px solid hsl(var(--border));transition:all .2s ease;min-width:160px}.level-progress-stage--rhythm{width:100%;max-width:400px;margin-bottom:.25rem}.level-progress-stage--pending{opacity:.5}.level-progress-stage--active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .05)}.level-progress-stage--complete{border-color:hsl(var(--success));background:hsl(var(--success) / .05)}.level-progress-stage__indicator{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.level-progress-stage__icon{transition:all .2s ease}.level-progress-stage__icon--pending{color:hsl(var(--muted-foreground));opacity:.4}.level-progress-stage__icon--active{color:hsl(var(--primary));animation:level-progress-pulse 1.5s ease-in-out infinite}.level-progress-stage__icon--complete{color:hsl(var(--success))}@keyframes level-progress-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.level-progress-stage__content{display:flex;flex-direction:column;gap:.125rem}.level-progress-stage__label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap}.level-progress-stage__description{font-size:.625rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.level-progress-stage__duration{font-size:.625rem;font-family:var(--font-mono);color:hsl(var(--success));white-space:nowrap}@media (max-width: 768px){.level-progress{padding:1.5rem}.level-progress__stages{flex-direction:column;align-items:stretch}.level-progress-stage{min-width:auto;width:100%}.level-progress-stage--rhythm,.level-progress-stage__description{max-width:none}}@media (max-width: 480px){.level-progress{padding:1rem;gap:1rem}.level-progress__bar-container{height:8px}.level-progress-stage{padding:.375rem .5rem;gap:.375rem}.level-progress-stage__indicator{width:20px;height:20px}.level-progress-stage__label{font-size:.6875rem}.level-progress-stage__description,.level-progress-stage__duration{font-size:.5625rem}}.level-progress .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.level-generation-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.level-generation-panel--empty{align-items:center;text-align:center;min-height:200px}.level-panel-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.level-panel-icon{color:hsl(var(--primary))}.level-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.level-panel-empty-content{padding:2rem;color:var(--text-secondary, #a0a0b0)}.level-panel-empty-icon{color:var(--text-muted, #6a6a7a);opacity:.5;margin-bottom:1rem}.level-panel-empty-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.level-panel-empty-text{margin:0;font-size:.875rem;opacity:.8}.level-compact-stats{display:flex;align-items:center;gap:0;padding:.75rem 1rem;background:var(--bg-tertiary, #0f0f1a);border-radius:8px;overflow-x:auto}.level-stat-item{display:flex;flex-direction:column;align-items:center;padding:0 1rem;min-width:80px}.level-stat-value{display:flex;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.level-stat-value svg{width:14px;height:14px;opacity:.7}.level-stat-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a);margin-top:.25rem}.level-stat-divider{width:1px;height:32px;background:var(--border-color, #2a2a4a)}.level-stat-difficulty{text-transform:capitalize}.level-stat-mode{color:#eab308}.level-stat-beats{color:#22c55e}.level-stat-detected{color:#3b82f6}.level-stat-generated{color:#8b5cf6}.level-preview-placeholder{padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:8px;border:1px dashed var(--border-color, #2a2a4a)}.level-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.level-preview-title{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.level-preview-badge{padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#a78bfa}.level-preview-content{display:flex;flex-direction:column;gap:1rem}.level-preview-info{display:flex;flex-direction:column;gap:.5rem}.level-preview-text{margin:0;font-size:.875rem;color:var(--text-primary, #e0e0e0)}.level-preview-hint{margin:0;font-size:.75rem;color:var(--text-muted, #6a6a7a);font-style:italic}.level-preview-visual{padding:1rem;background:var(--bg-secondary, #12121f);border-radius:6px}.level-preview-beats{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.level-preview-beat{width:8px;height:24px;border-radius:2px;transition:transform .1s ease}.level-preview-beat:hover{transform:scaleY(1.2)}.level-preview-more{padding:.25rem .5rem;font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);background:var(--bg-tertiary, #0f0f1a);border-radius:4px}.level-density-badge{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#06b6d414;border:1px solid rgba(6,182,212,.25);border-radius:8px}.level-density-badge-label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:#06b6d4}.level-density-badge-stats{display:flex;align-items:center;gap:1rem}.level-density-badge-stat{display:flex;align-items:baseline;gap:.25rem}.level-density-badge-value{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.level-density-badge-unit{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.level-panel-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--border-color, #2a2a4a)}.level-practice-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.level-practice-btn:hover{background:linear-gradient(135deg,#9b6cf6,#7d38e9);transform:translateY(-1px)}.level-practice-btn:active{transform:translateY(0)}.level-practice-arrow{font-size:1rem;transition:transform .2s ease}.level-practice-btn:hover .level-practice-arrow{transform:translate(4px)}@media (max-width: 640px){.level-generation-panel{padding:.75rem}.level-compact-stats{flex-wrap:wrap;gap:.5rem}.level-stat-item{flex:1 1 40%;padding:.5rem;min-width:100px}.level-stat-divider{display:none}.level-preview-beats{gap:.125rem}.level-preview-beat{width:6px;height:20px}}.level-generation-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.level-stat-divider{width:2px}}@media (prefers-reduced-motion: reduce){.level-practice-btn,.level-preview-beat,.level-practice-arrow{transition:none}}.charted-beat-map-preview{display:flex;flex-direction:column;background:var(--card-bg, #1a1a2e);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);overflow:hidden}.charted-beat-map-preview--empty{justify-content:center;align-items:center;min-height:80px}.charted-beat-map-preview-empty-message{margin:0;color:var(--text-muted, #6a6a7a);font-size:.875rem}.charted-beat-map-track{flex:1;position:relative;cursor:grab;overflow:hidden;min-height:80px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.charted-beat-map-track.dragging{cursor:grabbing}.charted-beat-map-track.disabled{cursor:not-allowed;opacity:.6}.charted-beat-map-track:focus{outline:2px solid hsl(var(--primary)) inset;outline-offset:-2px}.charted-beat-map-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0003,#0000001a,#0003)}.charted-beat-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.charted-beat-map-measure-line{position:absolute;top:0;bottom:0;width:1px;background:#ffffff1f;transform:translate(-50%)}.charted-beat-map-marker{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:default;transition:transform .1s ease,box-shadow .15s ease,opacity .15s ease;z-index:10;border-radius:4px;background:#0006;border:2px solid currentColor;transform:translate(-50%,-50%)}.charted-beat-map-icon{display:flex;align-items:center;justify-content:center}.charted-beat-map-fret{font-size:.75rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:inherit}.charted-beat-map-marker--detected{border-style:solid;background:#00000080}.charted-beat-map-marker--generated{border-style:dashed;opacity:.85}.charted-beat-map-marker--past{opacity:.4}.charted-beat-map-marker--current{opacity:1;animation:charted-beat-pulse .3s ease-in-out;box-shadow:0 0 12px currentColor}@keyframes charted-beat-pulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.charted-beat-map-marker--selectable{cursor:pointer}.charted-beat-map-marker--selectable:hover{transform:translate(-50%,-50%) scale(1.25);z-index:20;background:#ffffff26;box-shadow:0 0 16px #ffffff4d}.charted-beat-map-marker--selectable:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.charted-beat-map-marker--selected{transform:translate(-50%,-50%) scale(1.35);z-index:30;background:#fff3;box-shadow:0 0 20px currentColor}.charted-beat-map-marker--downbeat{border-width:3px;width:28px;height:28px}.charted-beat-map-marker--downbeat:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:8px;height:8px;background:currentColor;border-radius:50%}.charted-beat-map-playhead{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);z-index:50;pointer-events:none}.charted-beat-map-playhead-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .5)}.charted-beat-map-playhead-head{position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid hsl(var(--primary))}.charted-beat-map-time-markers{position:absolute;bottom:4px;left:0;right:0;height:16px;pointer-events:none}.charted-beat-map-time-marker{position:absolute;font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);transform:translate(-50%);background:#00000080;padding:1px 4px;border-radius:2px}.charted-beat-map-time-marker--edge-left{transform:translate(0)}.charted-beat-map-time-marker--edge-right{transform:translate(-100%)}.charted-beat-map-tooltip{padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a);min-height:48px}.charted-beat-map-tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.charted-beat-map-tooltip-button{font-size:.875rem;font-weight:600;text-transform:capitalize}.charted-beat-map-tooltip-beat{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.charted-beat-map-tooltip-details{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.charted-beat-map-tooltip-time{font-family:JetBrains Mono,Fira Code,monospace}.charted-beat-map-tooltip-separator{color:var(--text-muted, #6a6a7a);margin:0 .25rem}.charted-beat-map-tooltip-source{text-transform:capitalize}.charted-beat-map-tooltip-downbeat{color:#eab308;font-weight:500}.charted-beat-map-tooltip-band{text-transform:capitalize}.charted-beat-map-tooltip-extra{margin-top:.25rem;font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.charted-beat-map-tooltip-skeleton{opacity:.3}.charted-beat-map-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.charted-beat-map-controls-left,.charted-beat-map-controls-right{display:flex;align-items:center;gap:.5rem}.charted-beat-map-controls-center{display:flex;align-items:center}.charted-beat-map-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.charted-beat-map-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.charted-beat-map-play-btn:active:not(:disabled){transform:scale(.95)}.charted-beat-map-play-btn:disabled{opacity:.5;cursor:not-allowed}.charted-beat-map-play-btn:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.charted-beat-map-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.charted-beat-map-stats{display:flex;align-items:center;gap:.25rem}.charted-beat-map-stat{display:flex;align-items:baseline;gap:.25rem}.charted-beat-map-stat-value{font-size:.75rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.charted-beat-map-stat--detected{color:#22c55e}.charted-beat-map-stat--generated{color:#f59e0b}.charted-beat-map-stat-label{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.charted-beat-map-stat-separator{color:var(--border-color, #2a2a4a);margin:0 .25rem}.charted-beat-map-zoom-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--border-color, #2a2a4a);border-radius:4px;color:var(--text-secondary, #a0a0b0);cursor:pointer;transition:all .15s ease}.charted-beat-map-zoom-btn:hover:not(:disabled){background:#ffffff0d;border-color:var(--text-secondary, #a0a0b0)}.charted-beat-map-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.charted-beat-map-zoom-reset{width:auto;padding:0 .5rem;font-size:.625rem;font-weight:600}.charted-beat-map-zoom-level{font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);min-width:36px;text-align:center}.charted-beat-map-zoom-reset-btn{cursor:pointer;border-radius:4px;padding:2px 6px;transition:color .15s ease,background .15s ease}.charted-beat-map-zoom-reset-btn:hover{color:hsl(var(--primary));background:#ffffff0d}.charted-beat-map-legend{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-top:1px solid var(--border-color, #2a2a4a);flex-wrap:wrap}.charted-beat-map-legend-group{display:flex;align-items:center;gap:.75rem}.charted-beat-map-legend-title{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.charted-beat-map-legend-item{display:flex;align-items:center;gap:.25rem}.charted-beat-map-legend-icon{display:flex;align-items:center;justify-content:center}.charted-beat-map-legend-fret{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:.5625rem;font-weight:700;border-radius:2px;color:#fff}.charted-beat-map-legend-label{font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.charted-beat-map-legend-dot{width:12px;height:12px;border-radius:2px;border:2px solid}.charted-beat-map-legend-dot--detected{border-color:#22c55e;border-style:solid;background:#22c55e33}.charted-beat-map-legend-dot--generated{border-color:#f59e0b;border-style:dashed;background:transparent}.charted-beat-map-legend-dot--downbeat{border-color:#eab308;border-width:3px;background:#eab30833;position:relative}.charted-beat-map-legend-dot--downbeat:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:4px;height:4px;background:#eab308;border-radius:50%}.charted-beat-map-quickscroll{display:flex;align-items:center;margin-top:.25rem;padding:0 .75rem .25rem}.charted-beat-map-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.charted-beat-map-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.charted-beat-map-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.charted-beat-map-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.charted-beat-map-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);z-index:2;pointer-events:none}@media (max-width: 640px){.charted-beat-map-controls{flex-wrap:wrap;gap:.5rem}.charted-beat-map-controls-left,.charted-beat-map-controls-center,.charted-beat-map-controls-right{flex-wrap:wrap}.charted-beat-map-controls-center{order:3;width:100%;justify-content:center}.charted-beat-map-legend{flex-direction:column;align-items:flex-start;gap:.5rem}.charted-beat-map-legend-group{flex-wrap:wrap}.charted-beat-map-tooltip-details{flex-direction:column;align-items:flex-start;gap:.125rem}.charted-beat-map-tooltip-separator{display:none}.charted-beat-map-marker{width:20px;height:20px}.charted-beat-map-marker--downbeat{width:24px;height:24px}}@media (prefers-reduced-motion: reduce){.charted-beat-map-marker{transition:none}.charted-beat-map-marker--selectable:hover{transform:translate(-50%,-50%) scale(1.1)}@keyframes charted-beat-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}}}@media (prefers-contrast: more){.charted-beat-map-marker{border-width:3px}.charted-beat-map-marker--downbeat{border-width:4px}.charted-beat-map-playhead-line{width:3px}.charted-beat-map-measure-line{background:#ffffff40}}.level-metadata-summary{display:flex;align-items:center;gap:0;padding:.75rem 1rem;background:var(--bg-tertiary, #0f0f1a);border-radius:8px;overflow-x:auto}.level-metadata-summary--inline{background:transparent;padding:.5rem 0}.level-meta-stat{display:flex;flex-direction:column;align-items:center;padding:0 1rem;min-width:80px;flex-shrink:0}.level-meta-value{display:flex;align-items:center;gap:.375rem;font-size:.9375rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.level-meta-icon{width:14px;height:14px;opacity:.7;flex-shrink:0}.level-meta-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a);margin-top:.25rem}.level-meta-divider{width:1px;height:32px;background:var(--border-color, #2a2a4a);flex-shrink:0}.level-meta-difficulty{text-transform:capitalize;font-weight:700}.level-meta-mode{color:#eab308}.level-meta-beats{color:#22c55e}.level-meta-bpm{color:#f97316}@media (max-width: 640px){.level-metadata-summary{flex-wrap:wrap;gap:.5rem;justify-content:center}.level-meta-stat{flex:1 1 40%;padding:.5rem;min-width:100px}.level-meta-divider{display:none}}@media (prefers-contrast: more){.level-meta-divider{width:2px;background:var(--text-muted, #6a6a7a)}.level-meta-value{font-weight:700}}@media (prefers-reduced-motion: reduce){.level-meta-value,.level-meta-icon{transition:none}}.difficulty-comparison{display:flex;flex-direction:column;border-radius:8px;border:1px solid var(--border-color, #2a2a4a);background:var(--card-bg, #1a1a2e);overflow:hidden}.difficulty-comparison-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:transparent;border:none;cursor:pointer;transition:background .2s ease;font-family:inherit;text-align:left}.difficulty-comparison-header:hover{background:#ffffff08}.difficulty-comparison-header:focus{outline:2px solid hsl(var(--primary));outline-offset:-2px}.difficulty-comparison-header-icon{color:hsl(var(--primary));flex-shrink:0}.difficulty-comparison-header-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.difficulty-comparison-header-subtitle{font-size:.75rem;color:var(--text-muted, #6a6a7a);margin-left:.25rem}.difficulty-comparison-header-chevron{margin-left:auto;color:var(--text-muted, #6a6a7a);transition:transform .2s ease}.difficulty-comparison-content{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--border-color, #2a2a4a)}.difficulty-comparison-headers{display:grid;grid-template-columns:80px 1fr 70px 90px;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.difficulty-comparison-header-cell{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.difficulty-comparison-header-level{padding-left:.25rem}.difficulty-comparison-header-beats{padding-left:.5rem}.difficulty-comparison-rows{display:flex;flex-direction:column;gap:.5rem}.difficulty-comparison-row{display:grid;grid-template-columns:80px 1fr 70px 90px;gap:.75rem;align-items:center;padding:.5rem 0}.difficulty-comparison-row--empty{opacity:.5}.difficulty-comparison-label{font-size:.75rem;font-weight:600;text-transform:capitalize;padding-left:.25rem}.difficulty-comparison-bar-container{position:relative;height:24px;background:var(--bg-tertiary, #0f0f1a);border-radius:4px;overflow:hidden}.difficulty-comparison-bar{height:100%;border-radius:4px;transition:width .3s ease;min-width:4px}.difficulty-comparison-count{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.6875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);text-shadow:0 1px 2px rgba(0,0,0,.5)}.difficulty-comparison-density{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0);text-align:right}.difficulty-comparison-breakdown{display:flex;align-items:center;gap:.25rem;font-size:.625rem}.difficulty-comparison-detected{color:#3b82f6}.difficulty-comparison-generated{color:#8b5cf6}.difficulty-comparison-separator{color:var(--text-muted, #6a6a7a);margin:0 .125rem}.difficulty-comparison-buttons{display:flex;align-items:center;justify-content:flex-end}.difficulty-comparison-button-count{font-size:.625rem;padding:.25rem .5rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#a78bfa}.difficulty-comparison-button-count--empty{background:#6b728026;border-color:#6b72804d;color:#6b7280}.difficulty-comparison-empty-message{grid-column:2 / -1;font-size:.75rem;color:var(--text-muted, #6a6a7a);font-style:italic}.difficulty-comparison-summary{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color-light, #1a1a2a);font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.difficulty-comparison-summary-item strong{color:var(--text-secondary, #a0a0b0);font-weight:600}.difficulty-comparison-summary-separator{opacity:.5}@media (max-width: 768px){.difficulty-comparison-headers{display:none}.difficulty-comparison-row{grid-template-columns:70px 1fr;grid-template-rows:auto auto;gap:.375rem .5rem;padding:.625rem 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.difficulty-comparison-row:last-child{border-bottom:none}.difficulty-comparison-label{grid-column:1;grid-row:1 / 3;align-self:center}.difficulty-comparison-bar-container{grid-column:2;grid-row:1}.difficulty-comparison-density,.difficulty-comparison-breakdown,.difficulty-comparison-buttons{grid-column:2;grid-row:2;justify-self:start}.difficulty-comparison-breakdown,.difficulty-comparison-buttons{display:none}.difficulty-comparison-empty-message{grid-column:2;grid-row:1 / 3}}@media (max-width: 480px){.difficulty-comparison-header{padding:.75rem}.difficulty-comparison-header-subtitle{display:none}.difficulty-comparison-content{padding:.5rem .75rem .75rem}}.difficulty-comparison .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.difficulty-comparison-bar-container{border:1px solid var(--border-color, #2a2a4a)}}@media (prefers-reduced-motion: reduce){.difficulty-comparison-bar,.difficulty-comparison-header-chevron{transition:none}}.pitch-detection-panel{display:flex;gap:1.5rem;padding:1rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a);min-height:400px}.pitch-detection-panel-empty{flex-direction:column;align-items:center;justify-content:center;text-align:center}.pitch-panel-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.pitch-panel-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.pitch-panel-icon{color:hsl(var(--primary))}.pitch-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.pitch-panel-description{margin:-.5rem 0 0;font-size:.8rem;line-height:1.5;color:var(--text-secondary, #a0a0b0)}.pitch-panel-description strong{color:var(--text-primary, #e0e0e0)}.pitch-panel-description em{font-style:italic;color:var(--text-primary, #e0e0e0)}.pitch-panel-empty-content{padding:2rem;color:var(--text-secondary, #a0a0b0)}.pitch-panel-empty-content p{margin:.5rem 0}.pitch-panel-empty-hint{font-size:.875rem;opacity:.8}.pitch-summary-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.pitch-summary-item{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem;flex:1 1 0}.pitch-summary-value{font-size:1.25rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);display:flex;align-items:center;gap:.25rem}.pitch-summary-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);margin-top:.25rem}.pitch-voiced-percent{color:#22c55e}.pitch-probability{color:#eab308}.pitch-dominant-star{color:#fbbf24;margin-left:.25rem}.pitch-summary-range .pitch-summary-value{white-space:nowrap}.pitch-band-breakdown{margin-top:.5rem}.pitch-band-breakdown-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.pitch-band-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.pitch-band-card{display:flex;flex-direction:column;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s ease}.pitch-band-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.pitch-band-card:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.pitch-band-blue{border-color:#3b82f6}.pitch-band-blue.pitch-band-selected{background:#3b82f61a;box-shadow:0 0 12px #3b82f64d}.pitch-band-green{border-color:#22c55e}.pitch-band-green.pitch-band-selected{background:#22c55e1a;box-shadow:0 0 12px #22c55e4d}.pitch-band-orange{border-color:#f97316}.pitch-band-orange.pitch-band-selected{background:#f973161a;box-shadow:0 0 12px #f973164d}.pitch-band-dominant{position:relative}.pitch-band-dominant:after{content:"";position:absolute;top:-1px;right:-1px;width:12px;height:12px;background:#fbbf24;border-radius:0 6px}.pitch-band-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pitch-band-name{font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.pitch-band-range{font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.pitch-band-badge{display:flex;align-items:center;justify-content:center;color:#fbbf24}.pitch-band-stats{display:flex;gap:.75rem;margin-bottom:.5rem}.pitch-band-stat{display:flex;flex-direction:column;align-items:center}.pitch-band-stat-value{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.pitch-band-stat-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.pitch-band-notes{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;padding-top:.5rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.pitch-band-note-label{color:var(--text-muted, #6a6a7a)}.pitch-band-note-value{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.pitch-band-common-notes{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;padding-top:.375rem}.pitch-band-common-notes-list{display:flex;gap:.25rem;flex-wrap:wrap}.pitch-band-common-note{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0);padding:.125rem .375rem;background:var(--bg-secondary, #12121f);border-radius:3px;font-size:.625rem;border:1px solid var(--border-color-light, #1a1a2a)}.pitch-timeline-section,.pitch-histogram-section{margin-top:.5rem}.pitch-multiband-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #2a2a4a)}.pitch-multiband-title{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.pitch-multiband-description{margin:0 0 1rem;font-size:.75rem;color:var(--text-muted, #6a6a7a);line-height:1.5}.pitch-timeline-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);display:flex;align-items:center;gap:.5rem}.pitch-timeline-band-label{font-size:.75rem;font-weight:400;text-transform:none;color:var(--text-muted, #6a6a7a)}.pitch-inspector{width:220px;min-width:220px;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);display:flex;flex-direction:column}.pitch-inspector-empty{opacity:.8}.pitch-inspector-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border-color, #2a2a4a);font-size:.8125rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.pitch-inspector-content{padding:.75rem;flex:1}.pitch-inspector-placeholder{margin:1rem 0;font-size:.8125rem;color:var(--text-muted, #6a6a7a);text-align:center}.pitch-inspector-band-indicator{display:flex;align-items:center;gap:.5rem;justify-content:center;margin-top:1rem;font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.pitch-band-dot{width:8px;height:8px;border-radius:50%}.pitch-band-dot-low{background:#3b82f6}.pitch-band-dot-mid{background:#22c55e}.pitch-band-dot-high{background:#f97316}.pitch-inspector-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0}.pitch-inspector-label{font-size:.75rem;color:var(--text-muted, #6a6a7a)}.pitch-inspector-value{font-size:.8125rem;font-weight:500;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.pitch-inspector-divider{height:1px;background:var(--border-color-light, #1a1a2a);margin:.5rem 0}.pitch-note-name{font-size:1.125rem;font-weight:700;color:hsl(var(--primary))}.pitch-probability-badge{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem}.pitch-prob-high{background:#22c55e33;color:#22c55e}.pitch-prob-medium{background:#eab30833;color:#eab308}.pitch-prob-low{background:#f9731633;color:#f97316}.pitch-voiced-badge{padding:.125rem .5rem;border-radius:4px;font-size:.6875rem}.pitch-voiced-yes{background:#22c55e33;color:#22c55e}.pitch-voiced-no{background:#6b728033;color:#6b7280}.pitch-direction-value{display:flex;align-items:center;gap:.375rem}.pitch-direction-icon{flex-shrink:0}.pitch-direction-up{color:#22c55e}.pitch-direction-down{color:#ef4444}.pitch-direction-stable{color:#3b82f6}.pitch-direction-none{color:#6b7280}.pitch-inspector-no-pitch{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 0;color:var(--text-muted, #6a6a7a)}.pitch-no-pitch-icon{margin-bottom:.5rem;opacity:.5}.pitch-inspector-no-pitch p{margin:0;font-size:.8125rem}@media (max-width: 900px){.pitch-detection-panel{flex-direction:column}.pitch-inspector{width:100%;min-width:auto}}@media (max-width: 640px){.pitch-detection-panel{padding:.75rem}.pitch-band-cards{grid-template-columns:1fr}.pitch-summary-stats{flex-direction:column}.pitch-summary-item{flex-direction:row;justify-content:space-between;width:100%;padding:.5rem 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.pitch-summary-item:last-child{border-bottom:none}}.pitch-detection-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.pitch-band-card{border-width:3px}.pitch-inspector-row{border-bottom:1px solid var(--border-color, #2a2a4a)}}@media (prefers-reduced-motion: reduce){.pitch-band-card,.pitch-preview-dot{transition:none}.pitch-band-card:hover,.pitch-preview-dot:hover{transform:none}}.pitch-timeline{display:flex;flex-direction:column;background:var(--card-bg, #1a1a2e);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);overflow:hidden;min-height:180px}.pitch-timeline-body{display:flex;flex-direction:row;flex:1;min-height:140px;overflow:hidden}.pitch-timeline--empty{justify-content:center;align-items:center;min-height:120px}.pitch-timeline-empty-message{margin:0;color:var(--text-muted, #6a6a7a);font-size:.875rem}.pitch-timeline-y-axis{position:relative;width:40px;min-width:40px;background:var(--bg-tertiary, #0f0f1a);border-right:1px solid var(--border-color, #2a2a4a);display:flex;flex-direction:column;padding:.75rem .25rem}.pitch-timeline-y-label{position:absolute;left:4px;font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);transform:translateY(50%);white-space:nowrap}.pitch-timeline-y-label--edge-bottom{transform:translateY(0)}.pitch-timeline-y-label--edge-top{transform:translateY(100%)}.pitch-timeline-track{flex:1;position:relative;cursor:grab;overflow:hidden}.pitch-timeline-track.dragging{cursor:grabbing}.pitch-timeline-track.disabled{cursor:not-allowed;opacity:.6}.pitch-timeline-track:focus{outline:2px solid hsl(var(--primary)) inset;outline-offset:-2px}.pitch-timeline-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#6b72800d,#6b728005,#3b82f60d)}.pitch-timeline-past-region{position:absolute;top:0;left:0;height:100%;background:#6b728008;pointer-events:none}.pitch-timeline-future-region{position:absolute;top:0;right:0;height:100%;background:#3b82f608;pointer-events:none}.pitch-timeline-grid-line{position:absolute;left:0;right:0;height:1px;background:var(--border-color-light, #1a1a2a);pointer-events:none}.pitch-timeline-point{position:absolute;width:10px;height:10px;border-radius:50%;cursor:default;transition:transform .1s ease,box-shadow .15s ease;z-index:10}.pitch-timeline-point--voiced{border:1px solid rgba(255,255,255,.3);box-shadow:0 0 4px #0000004d}.pitch-timeline-point--unvoiced{border:1px solid rgba(107,114,128,.5);border-style:dashed}.pitch-timeline-point--past{opacity:.5!important}.pitch-timeline-point--selectable{cursor:pointer}.pitch-timeline-point--selectable:hover{transform:translate(-50%,50%) scale(1.3)!important;z-index:20;box-shadow:0 0 12px #ffffff4d}.pitch-timeline-point--selectable:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.pitch-timeline-point--selected{transform:translate(-50%,50%) scale(1.4)!important;z-index:30;box-shadow:0 0 16px #fff6,0 0 8px currentColor;border-color:#fff}.pitch-timeline-point-label{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:4px;padding:2px 6px;background:#000000d9;border-radius:3px;font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease}.pitch-timeline-point--selectable:hover .pitch-timeline-point-label{opacity:1}.pitch-timeline-now-line{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);z-index:50;pointer-events:none}.pitch-timeline-now-line-inner{position:absolute;top:0;bottom:0;left:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .5)}.pitch-timeline-now-label{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:2px 6px;background:hsl(var(--primary));border-radius:3px;font-size:.5625rem;font-weight:700;color:#fff;letter-spacing:.5px}.pitch-timeline-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.pitch-timeline-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.pitch-timeline-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.pitch-timeline-play-btn:active:not(:disabled){transform:scale(.95)}.pitch-timeline-play-btn:disabled{opacity:.5;cursor:not-allowed}.pitch-timeline-play-btn:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.pitch-timeline-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.pitch-timeline-info{margin-left:auto;font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.pitch-timeline-quickscroll{display:flex;align-items:center;padding:.25rem .75rem .5rem;background:var(--bg-tertiary, #0f0f1a)}.pitch-timeline-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;border:1px solid hsl(var(--surface-4) / .5);transition:border-color .15s ease}.pitch-timeline-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.pitch-timeline-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.6}.pitch-timeline-quickscroll-marker--unvoiced{opacity:.15}.pitch-timeline-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .15);border-left:1px solid hsl(var(--primary) / .4);border-right:1px solid hsl(var(--primary) / .4);border-radius:.125rem;pointer-events:none}.pitch-timeline-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));border-radius:1px;transform:translate(-50%);pointer-events:none;box-shadow:0 0 4px hsl(var(--primary) / .5)}@media (max-width: 640px){.pitch-timeline-y-axis{width:30px;min-width:30px}.pitch-timeline-y-label{font-size:.5rem}.pitch-timeline-controls{flex-wrap:wrap;gap:.5rem}.pitch-timeline-info{margin-left:0;width:100%;text-align:center}}@media (prefers-reduced-motion: reduce){.pitch-timeline-point{transition:none}.pitch-timeline-point--selectable:hover{transform:translate(-50%,50%) scale(1.2)!important}}@media (prefers-contrast: more){.pitch-timeline-point--voiced{border-width:2px}.pitch-timeline-now-line-inner{width:3px}.pitch-timeline-grid-line{background:var(--border-color, #2a2a4a)}}.pitch-inspector{width:240px;min-width:240px;background:var(--bg-tertiary, #0f0f1a);border-radius:8px;border:1px solid var(--border-color, #2a2a4a);display:flex;flex-direction:column;overflow:hidden}.pitch-inspector--empty{opacity:.85}.pitch-inspector__header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:var(--bg-secondary, #12121f);border-bottom:1px solid var(--border-color, #2a2a4a);font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.pitch-inspector__header svg{color:hsl(var(--primary));flex-shrink:0}.pitch-inspector__content{padding:.875rem 1rem;flex:1;overflow-y:auto}.pitch-inspector__placeholder{margin:1.5rem 0;font-size:.8125rem;color:var(--text-muted, #6a6a7a);text-align:center;line-height:1.5}.pitch-inspector__band-indicator{display:flex;align-items:center;gap:.5rem;justify-content:center;margin-top:1rem;padding:.75rem;background:var(--bg-secondary, #12121f);border-radius:6px;font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.pitch-inspector__band-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pitch-inspector__band-dot--low{background:#3b82f6;box-shadow:0 0 6px #3b82f680}.pitch-inspector__band-dot--mid{background:#22c55e;box-shadow:0 0 6px #22c55e80}.pitch-inspector__band-dot--high{background:#f97316;box-shadow:0 0 6px #f9731680}.pitch-inspector__section{display:flex;flex-direction:column;gap:.5rem}.pitch-inspector__row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.pitch-inspector__row--highlight{padding:.5rem;margin:-.5rem;background:#c8c8ff08;border-radius:4px}.pitch-inspector__row--category{flex-direction:column;align-items:flex-start;gap:.375rem;margin-top:.25rem}.pitch-inspector__label{font-size:.75rem;color:var(--text-muted, #6a6a7a);flex-shrink:0}.pitch-inspector__value{font-size:.8125rem;font-weight:500;color:var(--text-primary, #e0e0e0);text-align:right}.pitch-inspector__value--mono{font-family:JetBrains Mono,Fira Code,monospace;font-size:.75rem}.pitch-inspector__note-name{font-size:1.25rem;font-weight:700;color:hsl(var(--primary));font-family:JetBrains Mono,Fira Code,monospace;text-align:right}.pitch-inspector__probability{padding:.125rem .625rem;border-radius:4px;font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace}.pitch-inspector__probability--high{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.pitch-inspector__probability--medium{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.pitch-inspector__probability--low{background:#f9731626;color:#f97316;border:1px solid rgba(249,115,22,.3)}.pitch-inspector__voiced{padding:.125rem .625rem;border-radius:4px;font-size:.6875rem}.pitch-inspector__voiced--yes{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.pitch-inspector__voiced--no{background:#6b728026;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.pitch-inspector__direction{display:flex;align-items:center;gap:.5rem}.pitch-inspector__direction-label{text-transform:capitalize}.pitch-inspector__direction .pitch-direction-icon{flex-shrink:0}.pitch-inspector__direction .pitch-direction-up{color:#22c55e}.pitch-inspector__direction .pitch-direction-down{color:#ef4444}.pitch-inspector__direction .pitch-direction-stable{color:#3b82f6}.pitch-inspector__direction .pitch-direction-none{color:#6b7280}.pitch-inspector__category{display:flex;flex-direction:column;gap:.25rem;width:100%}.pitch-inspector__category-badge{display:inline-block;padding:.25rem .625rem;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:-moz-fit-content;width:fit-content}.pitch-inspector__category-badge--unison{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.pitch-inspector__category-badge--small{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.pitch-inspector__category-badge--medium{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.pitch-inspector__category-badge--large{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.pitch-inspector__category-badge--very_large{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pitch-inspector__category-description{font-size:.625rem;color:var(--text-muted, #6a6a7a);font-style:italic}.pitch-inspector__divider{height:1px;background:var(--border-color-light, #1a1a2a);margin:.75rem 0}.pitch-inspector__no-pitch{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-muted, #6a6a7a)}.pitch-inspector__no-pitch-icon{margin-bottom:.75rem;opacity:.4;color:var(--text-muted, #6a6a7a)}.pitch-inspector__no-pitch p{margin:0;font-size:.875rem;font-weight:500}.pitch-inspector__no-pitch-hint{margin-top:.5rem;font-size:.6875rem;line-height:1.4;max-width:180px}@media (max-width: 900px){.pitch-inspector{width:100%;min-width:auto}.pitch-inspector__row{flex-wrap:wrap}.pitch-inspector__value{text-align:left}}@media (prefers-contrast: more){.pitch-inspector{border-width:2px}.pitch-inspector__row{padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.pitch-inspector__divider{background:var(--border-color, #2a2a4a)}}@media (prefers-reduced-motion: reduce){.pitch-inspector *{transition:none}}.pitch-probability-histogram{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px solid var(--border-color, #2a2a4a)}.pitch-probability-histogram--empty{align-items:center;justify-content:center;text-align:center;padding:1.5rem}.pitch-probability-histogram__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pitch-probability-histogram__icon{color:hsl(var(--primary));flex-shrink:0}.pitch-probability-histogram__title{font-size:.8125rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.pitch-probability-histogram__stats{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace;margin-left:auto}.pitch-probability-histogram__empty-content{padding:1rem;color:var(--text-secondary, #a0a0b0);font-size:.875rem}.pitch-probability-histogram__empty-content p{margin:0}.pitch-probability-histogram__chart{display:flex;gap:.5rem;position:relative;min-height:120px}.pitch-probability-histogram__y-axis{width:32px;position:relative;display:flex;flex-direction:column;justify-content:space-between;font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace;padding-right:.25rem;border-right:1px solid var(--border-color-light, #1a1a2a)}.pitch-probability-histogram__y-axis span{position:absolute;right:.5rem;transform:translateY(50%)}.pitch-probability-histogram__bars{flex:1;display:flex;align-items:flex-end;gap:2px;position:relative;background:var(--bg-secondary, #12121f);border-radius:4px;padding:.5rem .5rem 1.5rem}.pitch-probability-histogram__bar-wrapper{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}.pitch-probability-histogram__bar{width:100%;max-width:40px;min-height:4px;border-radius:2px 2px 0 0;position:relative;transition:all .3s ease;cursor:pointer}.pitch-probability-histogram__bar:hover{filter:brightness(1.2);transform:scaleY(1.02)}.pitch-probability-histogram__bar-value{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);background:var(--bg-secondary, #12121f);padding:1px 4px;border-radius:2px;white-space:nowrap;opacity:0;transition:opacity .2s ease}.pitch-probability-histogram__bar:hover .pitch-probability-histogram__bar-value{opacity:1}.pitch-probability-histogram__bar-wrapper--high .pitch-probability-histogram__bar{box-shadow:0 0 6px #22c55e4d}.pitch-probability-histogram__bar-wrapper--medium .pitch-probability-histogram__bar{box-shadow:0 0 6px #eab3084d}.pitch-probability-histogram__bar-wrapper--low .pitch-probability-histogram__bar{box-shadow:0 0 6px #f973164d}.pitch-probability-histogram__threshold-line{position:absolute;top:0;bottom:0;width:2px;background:transparent;pointer-events:none;z-index:10;transform:translate(-50%)}.pitch-probability-histogram__threshold-marker{position:absolute;top:0;bottom:0;left:0;width:2px;background:#ef4444;box-shadow:0 0 4px #ef444480}.pitch-probability-histogram__threshold-marker:before,.pitch-probability-histogram__threshold-marker:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent}.pitch-probability-histogram__threshold-marker:before{top:0;border-top:6px solid #ef4444}.pitch-probability-histogram__threshold-marker:after{bottom:0;border-bottom:6px solid #ef4444}.pitch-probability-histogram__threshold-label{position:absolute;top:-2px;left:50%;transform:translate(4px,-100%);font-size:.5625rem;color:#ef4444;background:var(--bg-tertiary, #0f0f1a);padding:1px 4px;border-radius:2px;white-space:nowrap;font-family:JetBrains Mono,Fira Code,monospace}.pitch-probability-histogram__x-axis{display:flex;justify-content:space-between;padding:.25rem .5rem 0 3rem;font-size:.5625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.pitch-probability-histogram__legend{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color-light, #1a1a2a);font-size:.6875rem}.pitch-probability-histogram__legend-item{display:flex;align-items:center;gap:.375rem;color:var(--text-secondary, #a0a0b0)}.pitch-probability-histogram__legend-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.pitch-probability-histogram__threshold-indicator{width:10px;height:2px;background:#ef4444;position:relative}.pitch-probability-histogram__threshold-indicator:before{content:"";position:absolute;left:0;top:-2px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #ef4444}.pitch-probability-histogram__legend-item--threshold{margin-left:auto}.pitch-probability-histogram__bar{animation:histogramBarGrow .5s cubic-bezier(.16,1,.3,1) forwards;transform-origin:bottom}@keyframes histogramBarGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.pitch-probability-histogram__bar-wrapper:nth-child(1) .pitch-probability-histogram__bar{animation-delay:0ms}.pitch-probability-histogram__bar-wrapper:nth-child(2) .pitch-probability-histogram__bar{animation-delay:30ms}.pitch-probability-histogram__bar-wrapper:nth-child(3) .pitch-probability-histogram__bar{animation-delay:60ms}.pitch-probability-histogram__bar-wrapper:nth-child(4) .pitch-probability-histogram__bar{animation-delay:90ms}.pitch-probability-histogram__bar-wrapper:nth-child(5) .pitch-probability-histogram__bar{animation-delay:.12s}.pitch-probability-histogram__bar-wrapper:nth-child(6) .pitch-probability-histogram__bar{animation-delay:.15s}.pitch-probability-histogram__bar-wrapper:nth-child(7) .pitch-probability-histogram__bar{animation-delay:.18s}.pitch-probability-histogram__bar-wrapper:nth-child(8) .pitch-probability-histogram__bar{animation-delay:.21s}.pitch-probability-histogram__bar-wrapper:nth-child(9) .pitch-probability-histogram__bar{animation-delay:.24s}.pitch-probability-histogram__bar-wrapper:nth-child(10) .pitch-probability-histogram__bar{animation-delay:.27s}@media (max-width: 640px){.pitch-probability-histogram{padding:.5rem}.pitch-probability-histogram__header{flex-direction:column;align-items:flex-start}.pitch-probability-histogram__stats{margin-left:0;margin-top:.25rem}.pitch-probability-histogram__legend{flex-direction:column;gap:.5rem}.pitch-probability-histogram__legend-item--threshold{margin-left:0}.pitch-probability-histogram__x-axis{padding-left:2.5rem}}@media (prefers-reduced-motion: reduce){.pitch-probability-histogram__bar{animation:none;transform:scaleY(1);opacity:1}.pitch-probability-histogram__bar:hover{transform:none}}@media (prefers-contrast: more){.pitch-probability-histogram__bar{border:1px solid var(--text-primary, #e0e0e0)}.pitch-probability-histogram__threshold-marker{width:3px}}.melody-contour-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.melody-contour-panel-empty{align-items:center;text-align:center;min-height:200px}.melody-panel-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.melody-panel-icon{color:hsl(var(--primary))}.melody-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.melody-panel-empty-content{padding:2rem;color:var(--text-secondary, #a0a0b0)}.melody-panel-empty-content p{margin:.5rem 0}.melody-panel-empty-hint{font-size:.875rem;opacity:.8}.melody-summary-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.melody-summary-item{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem;flex:1 1 0}.melody-summary-value{font-size:1.25rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);display:flex;align-items:center;gap:.25rem}.melody-summary-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);margin-top:.25rem}.melody-voiced-percent{color:#22c55e}.melody-overall-direction{text-transform:capitalize}.melody-summary-range .melody-summary-value{white-space:nowrap}.melody-direction-distribution{margin-top:.5rem}.melody-distribution-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.melody-direction-bars{display:flex;flex-direction:column;gap:.5rem}.melody-direction-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border-left:3px solid transparent}.melody-direction-header{display:flex;align-items:center;gap:.375rem;min-width:80px}.melody-direction-icon{display:flex;align-items:center;justify-content:center}.melody-direction-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.melody-direction-green{border-left-color:#22c55e}.melody-direction-green .melody-direction-icon{color:#22c55e}.melody-direction-red{border-left-color:#ef4444}.melody-direction-red .melody-direction-icon{color:#ef4444}.melody-direction-blue{border-left-color:#3b82f6}.melody-direction-blue .melody-direction-icon{color:#3b82f6}.melody-direction-gray{border-left-color:#6b7280}.melody-direction-gray .melody-direction-icon{color:#6b7280}.melody-direction-bar-track{flex:1;height:8px;background:var(--bg-secondary, #12121f);border-radius:4px;overflow:hidden}.melody-direction-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.melody-direction-green .melody-direction-bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.melody-direction-red .melody-direction-bar-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.melody-direction-blue .melody-direction-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.melody-direction-gray .melody-direction-bar-fill{background:linear-gradient(90deg,#6b7280,#9ca3af)}.melody-direction-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:60px}.melody-direction-count{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.melody-direction-percent{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.melody-interval-distribution{margin-top:.75rem}.melody-interval-bars{display:flex;flex-direction:column;gap:.5rem}.melody-interval-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border-left:3px solid transparent}.melody-interval-header{display:flex;flex-direction:column;min-width:100px}.melody-interval-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.melody-interval-range{font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.melody-interval-purple{border-left-color:#8b5cf6}.melody-interval-purple .melody-interval-label{color:#a78bfa}.melody-interval-green{border-left-color:#22c55e}.melody-interval-green .melody-interval-label{color:#4ade80}.melody-interval-amber{border-left-color:#f59e0b}.melody-interval-amber .melody-interval-label{color:#fbbf24}.melody-interval-orange{border-left-color:#f97316}.melody-interval-orange .melody-interval-label{color:#fb923c}.melody-interval-red{border-left-color:#ef4444}.melody-interval-red .melody-interval-label{color:#f87171}.melody-interval-bar-track{flex:1;height:8px;background:var(--bg-secondary, #12121f);border-radius:4px;overflow:hidden}.melody-interval-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.melody-interval-purple .melody-interval-bar-fill{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.melody-interval-green .melody-interval-bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.melody-interval-amber .melody-interval-bar-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.melody-interval-orange .melody-interval-bar-fill{background:linear-gradient(90deg,#f97316,#fb923c)}.melody-interval-red .melody-interval-bar-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.melody-interval-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:60px}.melody-interval-count{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.melody-interval-percent{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.melody-visualizations-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #2a2a4a)}.melody-visualizations-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.melody-viz-section{margin-bottom:1rem}.melody-viz-section-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.melody-viz-section-text{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted, #6a6a7a)}.melody-viz-empty{padding:1.5rem;text-align:center;font-size:.875rem;color:var(--text-muted, #6a6a7a);background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px dashed var(--border-color, #2a2a4a)}.melody-viz-placeholder{margin-bottom:1rem;padding:1rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px dashed var(--border-color, #2a2a4a)}.melody-viz-placeholder-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.melody-viz-placeholder-text{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted, #6a6a7a)}.melody-viz-placeholder-coming{display:inline-flex;padding:.25rem .5rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;margin-bottom:.75rem}.melody-viz-placeholder-coming span{font-size:.6875rem;color:#a78bfa;font-weight:500}.melody-viz-preview{padding:.75rem;background:var(--bg-secondary, #12121f);border-radius:4px;margin-top:.5rem}.melody-direction-preview-arrows{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.melody-preview-arrow{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;font-size:12px;font-weight:700}.melody-arrow-up{background:#22c55e33;color:#22c55e}.melody-arrow-down{background:#ef444433;color:#ef4444}.melody-arrow-stable{background:#3b82f633;color:#3b82f6}.melody-arrow-none{background:#6b728033;color:#6b7280}.melody-preview-more{font-size:.625rem;color:var(--text-muted, #6a6a7a);padding:.25rem .5rem}.melody-contour-preview-info{display:flex;flex-direction:column;align-items:center;gap:.25rem}.melody-contour-range{font-size:1rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.melody-contour-semitones{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.melody-segment-list{display:flex;flex-direction:column;gap:.5rem}.melody-segment-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:4px;border-left:3px solid transparent}.melody-segment-up{border-left-color:#22c55e}.melody-segment-down{border-left-color:#ef4444}.melody-segment-stable{border-left-color:#3b82f6}.melody-segment-none{border-left-color:#6b7280}.melody-segment-range{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);min-width:80px}.melody-segment-direction{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0);min-width:90px}.melody-segment-notes{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.melody-segment-more{font-size:.6875rem;color:var(--text-muted, #6a6a7a);text-align:center;padding:.25rem}.melody-preview-empty{font-size:.75rem;color:var(--text-muted, #6a6a7a);text-align:center;padding:.5rem}.melody-shape-indicator{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;margin-top:.5rem}.melody-shape-label{font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.melody-shape-value{font-size:.8125rem;font-weight:600;text-transform:capitalize;padding:.25rem .5rem;border-radius:4px}.melody-shape-ascending{background:#22c55e33;color:#22c55e}.melody-shape-descending{background:#ef444433;color:#ef4444}.melody-shape-arch{background:#3b82f633;color:#3b82f6}.melody-shape-valley{background:#a855f733;color:#a855f7}.melody-shape-mixed{background:#f59e0b33;color:#f59e0b}.melody-shape-flat{background:#6b728033;color:#9ca3af}@media (max-width: 640px){.melody-contour-panel{padding:.75rem}.melody-summary-stats{flex-direction:column}.melody-summary-item{flex-direction:row;justify-content:space-between;width:100%;padding:.5rem 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.melody-summary-item:last-child{border-bottom:none}.melody-direction-bar,.melody-interval-bar{flex-wrap:wrap}.melody-direction-bar-track,.melody-interval-bar-track{width:100%;order:3}.melody-segment-item{flex-wrap:wrap}}.melody-contour-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.melody-direction-bar,.melody-interval-bar,.melody-segment-item{border-left-width:4px}}@media (prefers-reduced-motion: reduce){.melody-direction-bar-fill,.melody-interval-bar-fill{transition:none}}.melody-direction-timeline{display:flex;flex-direction:column;background:var(--card-bg, #1a1a2e);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);overflow:hidden;min-height:100px}.melody-direction-timeline--empty{justify-content:center;align-items:center;min-height:80px}.melody-direction-timeline-empty-message{margin:0;color:var(--text-muted, #6a6a7a);font-size:.875rem}.melody-direction-track{flex:1;position:relative;cursor:grab;overflow:hidden;min-height:60px;padding:.5rem 0}.melody-direction-track.dragging{cursor:grabbing}.melody-direction-track.disabled{cursor:not-allowed;opacity:.6}.melody-direction-track:focus{outline:2px solid hsl(var(--primary)) inset;outline-offset:-2px}.melody-direction-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#6b72800d,#6b728005,#3b82f60d)}.melody-direction-past-region{position:absolute;top:0;left:0;height:100%;background:#6b728008;pointer-events:none}.melody-direction-future-region{position:absolute;top:0;right:0;height:100%;background:#3b82f608;pointer-events:none}.melody-direction-center-line{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color-light, #1a1a2a);transform:translateY(-50%);pointer-events:none}.melody-direction-arrow{position:absolute;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:default;transition:transform .1s ease,box-shadow .15s ease;z-index:10;border-radius:4px}.melody-direction-symbol{font-weight:700}.melody-direction-arrow--past{opacity:.5}.melody-direction-arrow--current{opacity:1;animation:pulse .3s ease-in-out}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.melody-direction-arrow--selectable{cursor:pointer}.melody-direction-arrow--selectable:hover{transform:translate(-50%,-50%) scale(1.3);z-index:20;background:#ffffff1a;box-shadow:0 0 12px #fff3}.melody-direction-arrow--selectable:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.melody-direction-arrow--selected{transform:translate(-50%,-50%) scale(1.4);z-index:30;background:#ffffff26;box-shadow:0 0 16px currentColor}.melody-direction-arrow--up .melody-direction-symbol,.melody-direction-arrow--down .melody-direction-symbol,.melody-direction-arrow--stable .melody-direction-symbol{opacity:.9}.melody-direction-arrow--none .melody-direction-symbol{opacity:.6}.melody-direction-now-line{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);z-index:50;pointer-events:none}.melody-direction-now-line-inner{position:absolute;top:0;bottom:0;left:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .5)}.melody-direction-now-label{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:2px 6px;background:hsl(var(--primary));border-radius:3px;font-size:.5625rem;font-weight:700;color:#fff;letter-spacing:.5px}.melody-direction-tooltip{position:relative;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a);min-height:40px}.melody-direction-tooltip-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.melody-direction-tooltip-direction{font-size:.8125rem;font-weight:600;text-transform:capitalize}.melody-direction-tooltip-beat{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.melody-direction-tooltip-details{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.melody-direction-tooltip-time{font-family:JetBrains Mono,Fira Code,monospace}.melody-direction-tooltip-separator{color:var(--text-muted, #6a6a7a);margin:0 .25rem}.melody-direction-tooltip-interval{text-transform:capitalize}.melody-direction-tooltip-semitones{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a)}.melody-direction-tooltip-note{font-family:JetBrains Mono,Fira Code,monospace;font-weight:500}.melody-direction-tooltip-skeleton{opacity:.3}.melody-direction-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.melody-direction-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.melody-direction-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.melody-direction-play-btn:active:not(:disabled){transform:scale(.95)}.melody-direction-play-btn:disabled{opacity:.5;cursor:not-allowed}.melody-direction-play-btn:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.melody-direction-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.melody-direction-info{margin-left:auto;font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.melody-direction-legend{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-top:1px solid var(--border-color, #2a2a4a)}.melody-direction-legend-item{display:flex;align-items:center;gap:.25rem}.melody-direction-legend-symbol{font-size:1rem;font-weight:700}.melody-direction-legend-label{font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}@media (max-width: 640px){.melody-direction-controls{flex-wrap:wrap;gap:.5rem}.melody-direction-info{margin-left:0;width:100%;text-align:center}.melody-direction-legend{flex-wrap:wrap;gap:.5rem}.melody-direction-tooltip-details{flex-direction:column;align-items:flex-start;gap:.125rem}.melody-direction-tooltip-separator{display:none}}@media (prefers-reduced-motion: reduce){.melody-direction-arrow{transition:none}.melody-direction-arrow--selectable:hover{transform:translate(-50%,-50%) scale(1.2)}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}}}@media (prefers-contrast: more){.melody-direction-arrow{border:1px solid currentColor}.melody-direction-now-line-inner{width:3px}.melody-direction-center-line{background:var(--border-color, #2a2a4a)}}.interval-distribution-chart{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px solid var(--border-color, #2a2a4a)}.interval-distribution-chart--empty{align-items:center;justify-content:center;text-align:center;padding:1.5rem;min-height:180px}.interval-chart__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.interval-chart__icon{color:hsl(var(--primary));flex-shrink:0}.interval-chart__title{font-size:.8125rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.interval-chart__total{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace;margin-left:auto}.interval-chart__empty-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;color:var(--text-secondary, #a0a0b0);font-size:.875rem}.interval-chart__empty-content p{margin:0}.interval-chart__empty-icon{opacity:.5;color:var(--text-muted, #6a6a7a)}.interval-chart__empty-hint{font-size:.75rem;opacity:.8}.interval-chart__vertical{display:flex;gap:.5rem;position:relative;min-height:120px}.interval-chart__y-axis{width:32px;position:relative;display:flex;flex-direction:column;justify-content:space-between;font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace;padding-right:.25rem;border-right:1px solid var(--border-color-light, #1a1a2a)}.interval-chart__y-axis span{position:absolute;right:.5rem;transform:translateY(50%)}.interval-chart__bars{flex:1;display:flex;align-items:flex-end;gap:4px;position:relative;background:var(--bg-secondary, #12121f);border-radius:4px;padding:.5rem .5rem 3.5rem}.interval-chart__bar-wrapper{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;position:relative}.interval-chart__bar{width:100%;max-width:60px;min-height:4px;border-radius:3px 3px 0 0;position:relative;transition:all .3s ease;cursor:pointer}.interval-chart__bar:hover{filter:brightness(1.2);transform:scaleY(1.02)}.interval-chart__bar-value{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);background:var(--bg-secondary, #12121f);padding:1px 4px;border-radius:2px;white-space:nowrap;opacity:0;transition:opacity .2s ease}.interval-chart__bar:hover .interval-chart__bar-value{opacity:1}.interval-chart__bar-label{position:absolute;bottom:-3rem;display:flex;flex-direction:column;align-items:center;width:100%;padding-top:.25rem}.interval-chart__bar-name{font-size:.625rem;font-weight:600;color:var(--text-primary, #e0e0e0);white-space:nowrap}.interval-chart__bar-range{font-size:.5rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.interval-chart__interval-names{position:absolute;bottom:-5rem;display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;opacity:0;transition:opacity .2s ease}.interval-chart__bar-wrapper:hover .interval-chart__interval-names{opacity:1}.interval-chart__interval-name{font-size:.5rem;color:var(--text-secondary, #a0a0b0);white-space:nowrap}.interval-chart__bar-wrapper--purple .interval-chart__bar{box-shadow:0 0 8px #8b5cf64d}.interval-chart__bar-wrapper--green .interval-chart__bar{box-shadow:0 0 8px #22c55e4d}.interval-chart__bar-wrapper--amber .interval-chart__bar{box-shadow:0 0 8px #f59e0b4d}.interval-chart__bar-wrapper--orange .interval-chart__bar{box-shadow:0 0 8px #f973164d}.interval-chart__bar-wrapper--red .interval-chart__bar{box-shadow:0 0 8px #ef44444d}.interval-chart__horizontal{display:flex;flex-direction:column;gap:.5rem}.interval-chart__hbar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-radius:6px;border-left:3px solid transparent;transition:background .2s ease}.interval-chart__hbar:hover{background:var(--bg-tertiary-hover, #151525)}.interval-chart__hbar-header{display:flex;flex-direction:column;min-width:90px}.interval-chart__hbar-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.interval-chart__hbar-range{font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.interval-chart__hbar-symbol{font-size:.5rem;color:var(--text-secondary, #a0a0b0);font-family:JetBrains Mono,Fira Code,monospace;margin-top:2px}.interval-chart__hbar-track{flex:1;height:10px;background:var(--bg-primary, #0a0a14);border-radius:5px;overflow:hidden}.interval-chart__hbar-fill{height:100%;border-radius:5px;transition:width .3s ease}.interval-chart__hbar-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:55px}.interval-chart__hbar-count{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.interval-chart__hbar-percent{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.interval-chart__hbar-intervals{display:none;flex-wrap:wrap;gap:.25rem;margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.interval-chart__hbar:hover .interval-chart__hbar-intervals{display:flex}.interval-chart__hbar-interval{font-size:.5rem;padding:1px 4px;background:var(--bg-primary, #0a0a14);border-radius:2px;color:var(--text-secondary, #a0a0b0)}.interval-chart__hbar--purple{border-left-color:#8b5cf6}.interval-chart__hbar--purple .interval-chart__hbar-label{color:#a78bfa}.interval-chart__hbar--green{border-left-color:#22c55e}.interval-chart__hbar--green .interval-chart__hbar-label{color:#4ade80}.interval-chart__hbar--amber{border-left-color:#f59e0b}.interval-chart__hbar--amber .interval-chart__hbar-label{color:#fbbf24}.interval-chart__hbar--orange{border-left-color:#f97316}.interval-chart__hbar--orange .interval-chart__hbar-label{color:#fb923c}.interval-chart__hbar--red{border-left-color:#ef4444}.interval-chart__hbar--red .interval-chart__hbar-label{color:#f87171}.interval-chart__legend{padding-top:.5rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.interval-chart__legend-title{font-size:.6875rem;font-weight:600;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.interval-chart__legend-items{display:flex;flex-wrap:wrap;gap:.75rem}.interval-chart__legend-item{display:flex;align-items:center;gap:.375rem}.interval-chart__legend-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.interval-chart__legend-label{font-size:.6875rem;color:var(--text-primary, #e0e0e0)}.interval-chart__legend-range{font-size:.5625rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.interval-chart__reference{margin-top:.5rem;padding:.75rem;background:var(--bg-secondary, #12121f);border-radius:6px;border:1px solid var(--border-color-light, #1a1a2a)}.interval-chart__reference-title{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.interval-chart__reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.375rem}.interval-chart__reference-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .375rem;background:var(--bg-primary, #0a0a14);border-radius:3px}.interval-chart__reference-semitone{font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);min-width:16px}.interval-chart__reference-name{font-size:.625rem;color:var(--text-secondary, #a0a0b0)}.interval-chart__bar{animation:intervalBarGrow .5s cubic-bezier(.16,1,.3,1) forwards;transform-origin:bottom}@keyframes intervalBarGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.interval-chart__bar-wrapper:nth-child(1) .interval-chart__bar{animation-delay:0ms}.interval-chart__bar-wrapper:nth-child(2) .interval-chart__bar{animation-delay:50ms}.interval-chart__bar-wrapper:nth-child(3) .interval-chart__bar{animation-delay:.1s}.interval-chart__bar-wrapper:nth-child(4) .interval-chart__bar{animation-delay:.15s}.interval-chart__bar-wrapper:nth-child(5) .interval-chart__bar{animation-delay:.2s}.interval-chart__hbar{animation:intervalHBarSlide .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translate(-10px)}@keyframes intervalHBarSlide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.interval-chart__hbar:nth-child(1){animation-delay:0ms}.interval-chart__hbar:nth-child(2){animation-delay:50ms}.interval-chart__hbar:nth-child(3){animation-delay:.1s}.interval-chart__hbar:nth-child(4){animation-delay:.15s}.interval-chart__hbar:nth-child(5){animation-delay:.2s}@media (max-width: 640px){.interval-distribution-chart{padding:.5rem}.interval-chart__header{flex-direction:column;align-items:flex-start}.interval-chart__total{margin-left:0;margin-top:.25rem}.interval-chart__bars{gap:2px;padding-bottom:3rem}.interval-chart__bar{max-width:40px}.interval-chart__bar-label{bottom:-2.5rem}.interval-chart__bar-name{font-size:.5rem}.interval-chart__interval-names{display:none!important}.interval-chart__hbar{flex-wrap:wrap}.interval-chart__hbar-track{width:100%;order:3}.interval-chart__legend-items{flex-direction:column;gap:.5rem}.interval-chart__reference-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){.interval-chart__bar,.interval-chart__hbar{animation:none;transform:none;opacity:1}.interval-chart__bar:hover,.interval-chart__hbar:hover{transform:none}}@media (prefers-contrast: more){.interval-chart__bar{border:1px solid var(--text-primary, #e0e0e0)}.interval-chart__hbar{border-left-width:4px}.interval-chart__hbar-track{border:1px solid var(--border-color, #2a2a4a)}}.melody-segment-timeline{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-secondary, #12121f);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.melody-segment-timeline--empty{align-items:center;text-align:center;min-height:120px;justify-content:center}.melody-segment-timeline-empty-message{color:var(--text-muted, #6a6a7a);font-size:.875rem;margin:0}.melody-segment-track{position:relative;height:48px;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;cursor:grab;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.melody-segment-track.dragging{cursor:grabbing}.melody-segment-track.disabled{cursor:not-allowed;opacity:.6}.melody-segment-track:focus{outline:none;box-shadow:0 0 0 2px #8b5cf666}.melody-segment-background{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgba(255,255,255,.02) 0%,transparent 50%,rgba(0,0,0,.1) 100%)}.melody-segment-past-region{position:absolute;top:0;left:0;height:100%;background:linear-gradient(to right,#8b5cf60d,#8b5cf605);border-right:1px dashed rgba(139,92,246,.3)}.melody-segment-future-region{position:absolute;top:0;right:0;height:100%;background:transparent}.melody-segment-center-line{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent 100%)}.melody-segment-region{position:absolute;top:50%;transform:translateY(-50%);border-radius:6px;border-left:3px solid var(--segment-color, #6b7280);background:linear-gradient(to right,rgba(var(--segment-color-rgb, 107, 114, 128),.25),rgba(var(--segment-color-rgb, 107, 114, 128),.1));transition:transform .1s ease,box-shadow .15s ease;overflow:hidden}.melody-segment-region--up{--segment-color: #22c55e;--segment-color-rgb: 34, 197, 94;background:linear-gradient(to right,#22c55e4d,#22c55e1a)}.melody-segment-region--down{--segment-color: #ef4444;--segment-color-rgb: 239, 68, 68;background:linear-gradient(to right,#ef44444d,#ef44441a)}.melody-segment-region--stable{--segment-color: #3b82f6;--segment-color-rgb: 59, 130, 246;background:linear-gradient(to right,#3b82f64d,#3b82f61a)}.melody-segment-region--none{--segment-color: #6b7280;--segment-color-rgb: 107, 114, 128;background:linear-gradient(to right,#6b728033,#6b72800d);border-left-style:dashed}.melody-segment-region--past{opacity:.5}.melody-segment-region--current{transform:translateY(-50%) scale(1.02);box-shadow:0 0 12px rgba(var(--segment-color-rgb, 107, 114, 128),.4);z-index:5}.melody-segment-region--selected{box-shadow:0 0 0 2px var(--segment-color, #6b7280)}.melody-segment-region--hovered{transform:translateY(-50%) scale(1.01);box-shadow:0 4px 12px #0000004d}.melody-segment-region--selectable{cursor:pointer}.melody-segment-region--selectable:hover{transform:translateY(-50%) scale(1.02)}.melody-segment-content{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;height:100%;white-space:nowrap;overflow:hidden}.melody-segment-symbol{font-size:14px;font-weight:700;flex-shrink:0}.melody-segment-notes{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);display:flex;align-items:center;gap:.25rem}.melody-segment-arrow{opacity:.6;font-size:.625rem}.melody-segment-beats{font-size:.625rem;color:var(--text-muted, #6a6a7a);padding-left:.25rem;border-left:1px solid var(--border-color, #2a2a4a);margin-left:.25rem}.melody-segment-index{font-size:.5625rem;color:var(--text-muted, #6a6a7a);padding-left:.25rem;border-left:1px solid var(--border-color, #2a2a4a);margin-left:.25rem}.melody-segment-semitones{position:absolute;bottom:2px;right:4px;font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;padding:1px 3px;border-radius:2px;font-weight:600}.melody-segment-semitones--up{background:#22c55e4d;color:#4ade80}.melody-segment-semitones--down{background:#ef44444d;color:#f87171}.melody-segment-now-line{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);z-index:10;pointer-events:none}.melody-segment-now-line-inner{position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(to bottom,transparent 0%,hsl(var(--primary)) 20%,hsl(var(--primary)) 80%,transparent 100%);box-shadow:0 0 8px hsl(var(--primary))}.melody-segment-now-label{position:absolute;top:2px;left:50%;transform:translate(-50%);font-size:.5rem;font-weight:700;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.5px;background:var(--bg-secondary, #12121f);padding:1px 3px;border-radius:2px}.melody-segment-tooltip{position:relative;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);font-size:.8125rem}.melody-segment-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.melody-segment-tooltip-direction{font-weight:600;font-size:.875rem}.melody-segment-tooltip-index{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}.melody-segment-tooltip-details{display:flex;flex-direction:column;gap:.375rem}.melody-segment-tooltip-row{display:flex;align-items:baseline;gap:.5rem}.melody-segment-tooltip-label{font-size:.6875rem;color:var(--text-muted, #6a6a7a);min-width:60px}.melody-segment-tooltip-value{font-size:.75rem;color:var(--text-primary, #e0e0e0);font-family:JetBrains Mono,Fira Code,monospace}.melody-segment-tooltip-secondary{margin-left:.375rem;font-size:.625rem;color:var(--text-muted, #6a6a7a);font-family:inherit}.melody-segment-tooltip-skeleton{opacity:.3}.melody-segment-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.melody-segment-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease,transform .1s ease}.melody-segment-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.melody-segment-play-btn:active:not(:disabled){transform:scale(.95)}.melody-segment-play-btn:disabled{opacity:.5;cursor:not-allowed}.melody-segment-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.melody-segment-info{font-size:.6875rem;color:var(--text-muted, #6a6a7a);margin-left:auto}.melody-segment-legend{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.melody-segment-legend-item{display:flex;align-items:center;gap:.375rem}.melody-segment-legend-symbol{font-size:14px;font-weight:700}.melody-segment-legend-label{font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}@media (max-width: 640px){.melody-segment-timeline{padding:.5rem}.melody-segment-track{height:40px}.melody-segment-content{padding:.25rem .375rem;gap:.25rem}.melody-segment-symbol{font-size:12px}.melody-segment-notes{font-size:.5625rem}.melody-segment-beats,.melody-segment-index{display:none}.melody-segment-controls{flex-wrap:wrap;gap:.5rem}.melody-segment-info{margin-left:0;width:100%;text-align:center}}.melody-segment-timeline .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.melody-segment-region{border-left-width:4px}.melody-segment-region--up{background:#22c55e66}.melody-segment-region--down{background:#ef444466}.melody-segment-region--stable{background:#3b82f666}.melody-segment-region--none{background:#6b728066}}@media (prefers-reduced-motion: reduce){.melody-segment-region{transition:none}}.direction-stats-summary{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--bg-tertiary, #0f0f1a);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.direction-stats-summary--empty{align-items:center;justify-content:center;text-align:center;min-height:120px}.direction-stats-summary__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.direction-stats-summary__header-icon{color:hsl(var(--primary));flex-shrink:0}.direction-stats-summary__title{font-size:.8125rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.direction-stats-summary__trend{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto;font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;text-transform:capitalize}.direction-stats-summary__trend--ascending{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.direction-stats-summary__trend--descending{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.direction-stats-summary__trend--balanced{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.direction-stats-summary__empty{font-size:.875rem;color:var(--text-muted, #6a6a7a);padding:1rem}.direction-stats-summary__bars{display:flex;flex-direction:column;gap:.375rem}.direction-stats-summary__bar{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--bg-secondary, #12121f);border-radius:4px;border-left:2px solid transparent;transition:background .2s ease}.direction-stats-summary__bar:hover{background:var(--bg-tertiary-hover, #151525)}.direction-stats-summary__bar-header{display:flex;align-items:center;gap:.25rem;min-width:70px}.direction-stats-summary__bar-icon{display:flex;align-items:center;justify-content:center}.direction-stats-summary__bar-label{font-size:.6875rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.direction-stats-summary__bar--green{border-left-color:#22c55e}.direction-stats-summary__bar--green .direction-stats-summary__bar-icon{color:#22c55e}.direction-stats-summary__bar--red{border-left-color:#ef4444}.direction-stats-summary__bar--red .direction-stats-summary__bar-icon{color:#ef4444}.direction-stats-summary__bar--blue{border-left-color:#3b82f6}.direction-stats-summary__bar--blue .direction-stats-summary__bar-icon{color:#3b82f6}.direction-stats-summary__bar--gray{border-left-color:#6b7280}.direction-stats-summary__bar--gray .direction-stats-summary__bar-icon{color:#6b7280}.direction-stats-summary__bar-track{flex:1;height:6px;background:var(--bg-primary, #0a0a14);border-radius:3px;overflow:hidden}.direction-stats-summary__bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.direction-stats-summary__bar--green .direction-stats-summary__bar-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.direction-stats-summary__bar--red .direction-stats-summary__bar-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.direction-stats-summary__bar--blue .direction-stats-summary__bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.direction-stats-summary__bar--gray .direction-stats-summary__bar-fill{background:linear-gradient(90deg,#6b7280,#9ca3af)}.direction-stats-summary__bar-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:50px}.direction-stats-summary__bar-count{font-size:.75rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.direction-stats-summary__bar-percent{font-size:.5625rem;color:var(--text-muted, #6a6a7a)}.direction-stats-summary__metrics{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.direction-stats-summary__metric{flex:1;display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background:var(--bg-secondary, #12121f);border-radius:6px}.direction-stats-summary__metric-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #a0a0b0);flex-shrink:0}.direction-stats-summary__metric--green .direction-stats-summary__metric-icon{color:#22c55e}.direction-stats-summary__metric--red .direction-stats-summary__metric-icon{color:#ef4444}.direction-stats-summary__metric-content{display:flex;flex-direction:column;min-width:0}.direction-stats-summary__metric-label{font-size:.5625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.direction-stats-summary__metric-value{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.direction-stats-summary__metric--green .direction-stats-summary__metric-value{color:#22c55e}.direction-stats-summary__metric--red .direction-stats-summary__metric-value{color:#ef4444}.direction-stats-summary__metric-sub{font-size:.5625rem;color:var(--text-secondary, #a0a0b0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direction-stats-summary__footer{display:flex;justify-content:space-between;align-items:center;padding-top:.375rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.direction-stats-summary__total{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.direction-stats-summary__intervals{font-size:.625rem;color:var(--text-secondary, #a0a0b0);font-family:JetBrains Mono,Fira Code,monospace}.direction-stats-summary__bar{animation:directionBarSlide .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translate(-8px)}@keyframes directionBarSlide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.direction-stats-summary__bar:nth-child(1){animation-delay:0ms}.direction-stats-summary__bar:nth-child(2){animation-delay:40ms}.direction-stats-summary__bar:nth-child(3){animation-delay:80ms}.direction-stats-summary__bar:nth-child(4){animation-delay:.12s}.direction-stats-summary__metric{animation:metricFadeIn .4s cubic-bezier(.16,1,.3,1) forwards;opacity:0}@keyframes metricFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.direction-stats-summary__metric:nth-child(1){animation-delay:.16s}.direction-stats-summary__metric:nth-child(2){animation-delay:.2s}@media (max-width: 480px){.direction-stats-summary{padding:.625rem}.direction-stats-summary__header{flex-wrap:wrap}.direction-stats-summary__trend{margin-left:0;margin-top:.25rem;width:100%;justify-content:center}.direction-stats-summary__bar{flex-wrap:wrap;gap:.375rem}.direction-stats-summary__bar-track{width:100%;order:3}.direction-stats-summary__metrics{flex-direction:column}.direction-stats-summary__metric{width:100%}}@media (prefers-reduced-motion: reduce){.direction-stats-summary__bar,.direction-stats-summary__metric{animation:none;opacity:1;transform:none}}@media (prefers-contrast: more){.direction-stats-summary__bar{border-left-width:3px}.direction-stats-summary__bar-track{border:1px solid var(--border-color, #2a2a4a)}.direction-stats-summary__metric{border:1px solid var(--border-color-light, #1a1a2a)}}.button-mapping-panel{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a)}.button-mapping-panel-empty{align-items:center;text-align:center;min-height:200px}.button-panel-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #2a2a4a)}.button-panel-icon{color:hsl(var(--primary))}.button-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.button-mode-badge{margin-left:auto;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:4px}.button-mode-ddr{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.button-mode-guitar{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.button-panel-empty-content{padding:2rem;color:var(--text-secondary, #a0a0b0)}.button-panel-empty-content p{margin:.5rem 0}.button-panel-empty-hint{font-size:.875rem;opacity:.8}.button-summary-stats{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.button-summary-item{display:flex;flex-direction:column;align-items:center;min-width:80px;padding:.5rem}.button-summary-value{font-size:1.25rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.button-summary-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);margin-top:.25rem}.button-summary-mode .button-summary-value{color:#eab308}.button-summary-pitch .button-summary-value{color:#22c55e}.button-summary-pattern .button-summary-value{color:#f59e0b}.button-summary-keys .button-summary-value{color:#8b5cf6}.button-influence-breakdown{padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.button-influence-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.button-influence-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;background:var(--bg-secondary, #12121f)}.button-influence-pitch{background:linear-gradient(90deg,#22c55e,#4ade80);transition:width .3s ease}.button-influence-pattern{background:linear-gradient(90deg,#f59e0b,#fbbf24);transition:width .3s ease}.button-influence-legend{display:flex;gap:1.5rem;margin-top:.75rem}.button-influence-legend-item{display:flex;align-items:center;gap:.5rem}.button-influence-legend-color{width:12px;height:12px;border-radius:2px}.button-influence-legend-pitch{background:#22c55e}.button-influence-legend-pattern{background:#f59e0b}.button-influence-legend-label{font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.button-distribution{padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.button-distribution-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.button-distribution-bars{display:flex;flex-direction:column;gap:.5rem}.button-distribution-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-radius:6px;border-left:3px solid transparent}.button-distribution-header{display:flex;align-items:center;gap:.5rem;min-width:100px}.button-distribution-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.button-distribution-fret{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:700;border-radius:4px}.button-distribution-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.button-distribution-yellow{border-left-color:#eab308}.button-distribution-yellow .button-distribution-icon,.button-distribution-yellow .button-distribution-fret{color:#eab308}.button-distribution-blue{border-left-color:#3b82f6}.button-distribution-blue .button-distribution-icon,.button-distribution-blue .button-distribution-fret{color:#3b82f6}.button-distribution-purple{border-left-color:#a855f7}.button-distribution-purple .button-distribution-icon,.button-distribution-purple .button-distribution-fret{color:#a855f7}.button-distribution-green{border-left-color:#22c55e}.button-distribution-green .button-distribution-icon,.button-distribution-green .button-distribution-fret{color:#22c55e}.button-distribution-red{border-left-color:#ef4444}.button-distribution-red .button-distribution-fret{background:#ef444433;color:#f87171}.button-distribution-orange{border-left-color:#f97316}.button-distribution-orange .button-distribution-fret{background:#f9731633;color:#fb923c}.button-distribution-track{flex:1;height:8px;background:var(--bg-tertiary, #0f0f1a);border-radius:4px;overflow:hidden}.button-distribution-fill{height:100%;border-radius:4px;transition:width .3s ease}.button-distribution-yellow .button-distribution-fill{background:linear-gradient(90deg,#eab308,#facc15)}.button-distribution-blue .button-distribution-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.button-distribution-purple .button-distribution-fill{background:linear-gradient(90deg,#a855f7,#c084fc)}.button-distribution-green .button-distribution-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.button-distribution-red .button-distribution-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.button-distribution-orange .button-distribution-fill{background:linear-gradient(90deg,#f97316,#fb923c)}.button-distribution-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:60px}.button-distribution-count{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.button-distribution-percent{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.button-patterns-used{padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.button-patterns-title{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.button-patterns-list{display:flex;flex-wrap:wrap;gap:.5rem}.button-pattern-tag{padding:.25rem .5rem;font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#a78bfa}.button-pattern-more{padding:.25rem .5rem;font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.button-timeline-section{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #2a2a4a)}.button-timeline-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.button-timeline-description{margin:0 0 .75rem;font-size:.75rem;color:var(--text-muted, #6a6a7a)}.button-timeline-placeholder{padding:2rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px dashed var(--border-color, #2a2a4a)}.button-timeline-placeholder-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.button-timeline-placeholder-icon{color:var(--text-muted, #6a6a7a);opacity:.5}.button-timeline-placeholder-content p{margin:0;font-size:.875rem;color:var(--text-muted, #6a6a7a)}.button-timeline-placeholder-task{padding:.25rem .5rem;font-size:.6875rem;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:4px;color:#a78bfa}@media (max-width: 640px){.button-mapping-panel{padding:.75rem}.button-summary-stats{flex-direction:column}.button-summary-item{flex-direction:row;justify-content:space-between;width:100%;padding:.5rem 0;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.button-summary-item:last-child{border-bottom:none}.button-distribution-bar{flex-wrap:wrap}.button-distribution-track{width:100%;order:3}.button-influence-legend{flex-direction:column;gap:.5rem}}.button-mapping-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.button-distribution-bar{border-left-width:4px}}@media (prefers-reduced-motion: reduce){.button-influence-pitch,.button-influence-pattern,.button-distribution-fill{transition:none}}.ddr-viz{display:flex;flex-direction:column;align-items:center;gap:.75rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a);font-family:-apple-system,BlinkMacSystemFont,sans-serif;padding:.75rem}.ddr-viz--empty{align-items:center;justify-content:center;min-height:80px}.ddr-viz--empty p{font-size:.75rem;color:var(--text-muted, #6a6a7a)}.ddr-pad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:6px;width:140px;height:160px}.ddr-pad-cell--up{grid-column:1 / 3;grid-row:1}.ddr-pad-cell--left{grid-column:1;grid-row:2}.ddr-pad-cell--right{grid-column:2;grid-row:2}.ddr-pad-cell--down{grid-column:1 / 3;grid-row:3}.ddr-btn{position:relative;display:flex;align-items:center;justify-content:center;border-radius:8px;border:2px solid;background:#ffffff05;cursor:default;transition:background .08s ease-out,border-color .08s ease-out,box-shadow .08s ease-out;overflow:hidden}.ddr-btn__icon{color:var(--btn-color);opacity:.35;transition:opacity .08s ease-out;position:relative;z-index:1;pointer-events:none}.ddr-btn--active{background:var(--btn-color);border-color:var(--btn-color);box-shadow:0 0 20px color-mix(in srgb,var(--btn-color) 50%,transparent),0 0 40px color-mix(in srgb,var(--btn-color) 25%,transparent),inset 0 0 12px #ffffff26}.ddr-btn--active .ddr-btn__icon{color:#000;opacity:1;filter:drop-shadow(0 0 2px rgba(0,0,0,.3))}.ddr-btn--fade{background:color-mix(in srgb,var(--btn-color) 12%,transparent);border-color:color-mix(in srgb,var(--btn-color) 40%,transparent)}.ddr-btn--fade .ddr-btn__icon{opacity:.6}.ddr-btn--up{--btn-color: #eab308;border-color:color-mix(in srgb,#eab308 35%,transparent)}.ddr-btn--down{--btn-color: #3b82f6;border-color:color-mix(in srgb,#3b82f6 35%,transparent)}.ddr-btn--left{--btn-color: #a855f7;border-color:color-mix(in srgb,#a855f7 35%,transparent)}.ddr-btn--right{--btn-color: #22c55e;border-color:color-mix(in srgb,#22c55e 35%,transparent)}.ddr-btn--up.ddr-btn--active{border-color:#eab308}.ddr-btn--down.ddr-btn--active{border-color:#3b82f6}.ddr-btn--left.ddr-btn--active{border-color:#a855f7}.ddr-btn--right.ddr-btn--active{border-color:#22c55e}.ddr-btn__flash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.5) 0%,transparent 70%);opacity:0;pointer-events:none;transition:opacity .05s ease-out}.ddr-btn--active .ddr-btn__flash{opacity:1}.ddr-viz-controls{display:flex;align-items:center;gap:.75rem;width:100%;padding-top:.5rem;border-top:1px solid var(--border-color, #2a2a4a)}.ddr-viz-play{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s ease}.ddr-viz-play:hover:not(:disabled){background:hsl(var(--primary) / .8)}.ddr-viz-play:disabled{opacity:.5;cursor:not-allowed}.ddr-viz-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.ddr-viz-play:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.ddr-btn,.ddr-btn__icon,.ddr-btn__flash{transition:none}}.gh-viz{display:flex;flex-direction:column;gap:.75rem;background:var(--card-bg, #1a1a2e);border-radius:8px;border:1px solid var(--border-color, #2a2a4a);font-family:-apple-system,BlinkMacSystemFont,sans-serif;padding:.75rem}.gh-viz--empty{align-items:center;justify-content:center;min-height:80px}.gh-viz--empty p{font-size:.75rem;color:var(--text-muted, #6a6a7a)}.gh-fretboard{display:flex;flex-direction:column;gap:4px;width:100%}.gh-lane{position:relative;height:32px;border-radius:6px;border:2px solid;display:flex;align-items:center;justify-content:center;cursor:default;overflow:hidden;transition:background .08s ease-out,border-color .08s ease-out,box-shadow .08s ease-out}.gh-lane__label{font-size:.75rem;font-weight:700;opacity:.35;transition:opacity .08s ease-out,color .08s ease-out;position:relative;z-index:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gh-lane--1{--fret-color: #ef4444;border-color:color-mix(in srgb,#ef4444 30%,transparent);background:#ffffff05;color:#ef4444}.gh-lane--2{--fret-color: #f97316;border-color:color-mix(in srgb,#f97316 30%,transparent);background:#ffffff05;color:#f97316}.gh-lane--3{--fret-color: #eab308;border-color:color-mix(in srgb,#eab308 30%,transparent);background:#ffffff05;color:#eab308}.gh-lane--4{--fret-color: #22c55e;border-color:color-mix(in srgb,#22c55e 30%,transparent);background:#ffffff05;color:#22c55e}.gh-lane--5{--fret-color: #3b82f6;border-color:color-mix(in srgb,#3b82f6 30%,transparent);background:#ffffff05;color:#3b82f6}.gh-lane--active{background:var(--fret-color);border-color:var(--fret-color);box-shadow:0 0 16px color-mix(in srgb,var(--fret-color) 50%,transparent),0 0 32px color-mix(in srgb,var(--fret-color) 25%,transparent),inset 0 0 12px #ffffff26}.gh-lane--active .gh-lane__label{color:#000;opacity:1;filter:drop-shadow(0 0 2px rgba(0,0,0,.3))}.gh-lane--fade{background:color-mix(in srgb,var(--fret-color) 12%,transparent);border-color:color-mix(in srgb,var(--fret-color) 40%,transparent)}.gh-lane--fade .gh-lane__label{opacity:.6}.gh-lane__flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(255,255,255,.5) 0%,transparent 70%);opacity:0;pointer-events:none;transition:opacity .05s ease-out}.gh-lane--active .gh-lane__flash{opacity:1}.gh-viz-controls{display:flex;align-items:center;gap:.75rem;width:100%;padding-top:.5rem;border-top:1px solid var(--border-color, #2a2a4a)}.gh-viz-play{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s ease}.gh-viz-play:hover:not(:disabled){background:hsl(var(--primary) / .8)}.gh-viz-play:disabled{opacity:.5;cursor:not-allowed}.gh-viz-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.gh-viz-play:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (prefers-reduced-motion: reduce){.gh-lane,.gh-lane__label,.gh-lane__flash{transition:none}}.button-distribution-chart{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.button-distribution-chart--compact{padding:.5rem;gap:.5rem}.button-distribution-chart--empty{align-items:center;text-align:center;min-height:150px}.btn-dist-chart__header{display:flex;align-items:center;gap:.5rem}.btn-dist-chart__icon{color:hsl(var(--primary))}.btn-dist-chart__title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0)}.btn-dist-chart__mode-badge{margin-left:auto;padding:.125rem .375rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-radius:3px}.btn-dist-chart__mode-ddr{background:#eab30826;color:#eab308;border:1px solid rgba(234,179,8,.3)}.btn-dist-chart__mode-guitar{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.btn-dist-chart__summary{display:flex;gap:1.5rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-radius:4px}.btn-dist-chart__summary-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.btn-dist-chart__summary-value{font-size:1rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.btn-dist-chart__summary-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.btn-dist-chart__empty-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem}.btn-dist-chart__empty-content p{margin:0;font-size:.875rem;color:var(--text-secondary, #a0a0b0)}.btn-dist-chart__empty-icon{color:var(--text-muted, #6a6a7a);opacity:.5}.btn-dist-chart__empty-hint{font-size:.75rem;opacity:.8}.btn-dist-chart__horizontal{display:flex;flex-direction:column;gap:.5rem}.btn-dist-chart__hbar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);border-radius:6px;border-left:3px solid transparent;transition:background .2s ease}.btn-dist-chart__hbar:hover{background:var(--bg-primary, #1a1a2e)}.btn-dist-chart__hbar--compact{padding:.375rem .5rem;gap:.5rem}.btn-dist-chart__hbar--yellow{border-left-color:#eab308}.btn-dist-chart__hbar--yellow .btn-dist-chart__hbar-icon{color:#eab308}.btn-dist-chart__hbar--blue{border-left-color:#3b82f6}.btn-dist-chart__hbar--blue .btn-dist-chart__hbar-icon{color:#3b82f6}.btn-dist-chart__hbar--purple{border-left-color:#a855f7}.btn-dist-chart__hbar--purple .btn-dist-chart__hbar-icon{color:#a855f7}.btn-dist-chart__hbar--green{border-left-color:#22c55e}.btn-dist-chart__hbar--green .btn-dist-chart__hbar-icon{color:#22c55e}.btn-dist-chart__hbar--red{border-left-color:#ef4444}.btn-dist-chart__hbar--orange{border-left-color:#f97316}.btn-dist-chart__hbar-header{display:flex;align-items:center;gap:.5rem;min-width:100px}.btn-dist-chart__hbar--compact .btn-dist-chart__hbar-header{min-width:80px}.btn-dist-chart__hbar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.btn-dist-chart__hbar-fret{display:flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:.75rem;font-weight:700;border-radius:4px}.btn-dist-chart__hbar-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0)}.btn-dist-chart__hbar-track{flex:1;height:8px;background:var(--bg-tertiary, #0f0f1a);border-radius:4px;overflow:hidden}.btn-dist-chart__hbar--compact .btn-dist-chart__hbar-track{height:6px}.btn-dist-chart__hbar-fill{height:100%;border-radius:4px;transition:width .3s ease}.btn-dist-chart__hbar-stats{display:flex;flex-direction:column;align-items:flex-end;min-width:50px}.btn-dist-chart__hbar--compact .btn-dist-chart__hbar-stats{min-width:40px}.btn-dist-chart__hbar-count{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.btn-dist-chart__hbar--compact .btn-dist-chart__hbar-count{font-size:.75rem}.btn-dist-chart__hbar-percent{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.btn-dist-chart__vertical{display:flex;gap:.75rem;padding:.5rem 0}.btn-dist-chart__y-axis{position:relative;width:30px;display:flex;flex-direction:column;font-size:.625rem;color:var(--text-muted, #6a6a7a)}.btn-dist-chart__y-axis span{position:absolute;right:0;transform:translateY(50%)}.btn-dist-chart__bars{flex:1;display:flex;align-items:flex-end;gap:.5rem;padding-bottom:3rem}.btn-dist-chart__bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative;padding:.5rem;border-radius:4px;transition:background .2s ease}.btn-dist-chart__bar-wrapper:hover{background:#ffffff0d}.btn-dist-chart__bar-wrapper--yellow{background:#eab3080d}.btn-dist-chart__bar-wrapper--blue{background:#3b82f60d}.btn-dist-chart__bar-wrapper--purple{background:#a855f70d}.btn-dist-chart__bar-wrapper--green{background:#22c55e0d}.btn-dist-chart__bar-wrapper--red{background:#ef44440d}.btn-dist-chart__bar-wrapper--orange{background:#f973160d}.btn-dist-chart__bar{width:100%;max-width:40px;border-radius:4px 4px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem;min-height:4px;transition:height .3s ease}.btn-dist-chart__bar-value{font-size:.6875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.btn-dist-chart__bar-label{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.125rem}.btn-dist-chart__bar-icon{display:flex;align-items:center;justify-content:center}.btn-dist-chart__bar-fret{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border-radius:4px;background:#ffffff1a}.btn-dist-chart__bar-name{font-size:.625rem;font-weight:500;color:var(--text-secondary, #a0a0b0);white-space:nowrap}.btn-dist-chart__bar-percent{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.btn-dist-chart__legend{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color-light, #1a1a2a)}.btn-dist-chart__legend-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--bg-secondary, #12121f);border-radius:4px;font-size:.6875rem}.btn-dist-chart__legend-color{width:10px;height:10px;border-radius:2px}.btn-dist-chart__legend-label{color:var(--text-primary, #e0e0e0)}.btn-dist-chart__legend-stats{color:var(--text-muted, #6a6a7a);font-family:JetBrains Mono,Fira Code,monospace}@media (max-width: 640px){.button-distribution-chart{padding:.5rem}.btn-dist-chart__hbar{flex-wrap:wrap;gap:.5rem}.btn-dist-chart__hbar-track{width:100%;order:3}.btn-dist-chart__legend{flex-direction:column}.btn-dist-chart__summary{flex-direction:column;align-items:flex-start;gap:.5rem}.btn-dist-chart__summary-item{flex-direction:row;gap:.75rem}}.button-distribution-chart .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (prefers-contrast: more){.btn-dist-chart__hbar{border-left-width:4px}.btn-dist-chart__bar{border:1px solid rgba(255,255,255,.3)}}@media (prefers-reduced-motion: reduce){.btn-dist-chart__hbar-fill,.btn-dist-chart__bar{transition:none}}.mapping-influence-breakdown{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px;border:1px solid var(--border-color, #2a2a4a)}.mapping-influence-breakdown--compact{padding:.5rem}.mapping-influence-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.mapping-influence-icon{color:hsl(var(--primary));flex-shrink:0}.mapping-influence-title{margin:0;font-size:.8125rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.mapping-influence-content{display:flex;flex-direction:column;gap:1rem}.mapping-influence-breakdown:not(.mapping-influence-breakdown--compact) .mapping-influence-content{flex-direction:row;flex-wrap:wrap}.mapping-chart-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex-shrink:0}.mapping-pie-chart{display:block}.mapping-pie-chart--empty{opacity:.5}.mapping-pie-slice{cursor:pointer}.mapping-pie-path{transition:transform .2s ease,filter .2s ease;transform-origin:center}.mapping-pie-slice:hover .mapping-pie-path{filter:brightness(1.15);transform:scale(1.02)}.mapping-pie-center-value{font-size:1.25rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;fill:var(--text-primary, #e0e0e0)}.mapping-pie-center-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.5px;fill:var(--text-muted, #6a6a7a)}.mapping-pie-empty-text{font-size:.75rem;fill:var(--text-muted, #6a6a7a)}.mapping-chart-legend{display:flex;flex-direction:column;gap:.5rem;width:100%}.mapping-legend-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--bg-secondary, #12121f);border-radius:4px;transition:background .2s ease}.mapping-legend-item:hover{background:var(--bg-tertiary-hover, #151525)}.mapping-legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.mapping-legend-pitch .mapping-legend-color{background:#22c55e}.mapping-legend-pattern .mapping-legend-color{background:#f59e0b}.mapping-legend-label{font-size:.75rem;font-weight:500;color:var(--text-primary, #e0e0e0);min-width:50px}.mapping-legend-stats{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);margin-left:auto}.mapping-settings-info{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.75rem}.mapping-settings-header{display:flex;align-items:center;gap:.375rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color-light, #1a1a2a)}.mapping-settings-icon{color:hsl(var(--primary))}.mapping-settings-title{font-size:.75rem;font-weight:600;color:var(--text-secondary, #a0a0b0);text-transform:uppercase;letter-spacing:.5px}.mapping-settings-grid{display:flex;flex-direction:column;gap:.75rem}.mapping-setting-item{display:flex;flex-direction:column;gap:.25rem}.mapping-setting-label{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.mapping-setting-value{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0);font-weight:600}.mapping-setting-bar{height:6px;background:var(--bg-primary, #0a0a14);border-radius:3px;overflow:hidden}.mapping-setting-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.mapping-setting-bar-fill--pitch{background:linear-gradient(90deg,#22c55e,#4ade80)}.mapping-setting-bar-fill--threshold{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.mapping-setting-description{font-size:.625rem;color:var(--text-muted, #6a6a7a);line-height:1.4}.mapping-how-it-works{margin-top:.5rem;padding:.75rem;background:var(--bg-secondary, #12121f);border-radius:6px;border:1px solid var(--border-color-light, #1a1a2a)}.mapping-how-header{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;color:var(--text-secondary, #a0a0b0);margin-bottom:.5rem}.mapping-how-header svg{color:hsl(var(--primary))}.mapping-how-content{display:flex;flex-direction:column;gap:.5rem}.mapping-how-content p{margin:0;font-size:.625rem;color:var(--text-muted, #6a6a7a);line-height:1.5}.mapping-how-content strong{color:var(--text-secondary, #a0a0b0);font-weight:500}@media (max-width: 640px){.mapping-influence-content{flex-direction:column!important}.mapping-chart-section{width:100%}.mapping-settings-info{width:100%;min-width:auto}.mapping-pie-center-value{font-size:1rem}}@media (prefers-reduced-motion: reduce){.mapping-pie-path{transition:none}.mapping-pie-slice:hover .mapping-pie-path{transform:none}.mapping-setting-bar-fill{transition:none}}@media (prefers-contrast: more){.mapping-pie-path{stroke:var(--text-primary, #e0e0e0);stroke-width:1px}.mapping-legend-item{border:1px solid var(--border-color, #2a2a4a)}.mapping-setting-bar{border:1px solid var(--border-color-light, #1a1a2a)}}.mapping-pie-slice:focus{outline:2px solid hsl(var(--primary));outline-offset:2px}.mapping-legend-item:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.pattern-library-usage{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.pattern-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pattern-header:hover{opacity:.9}.pattern-header-icon{color:#a78bfa}.pattern-header-title{margin:0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #a0a0b0);flex:1}.pattern-header-toggle{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.pattern-summary{display:flex;flex-wrap:wrap;gap:1rem;padding:.5rem;background:var(--bg-secondary, #12121f);border-radius:4px}.pattern-summary-item{display:flex;align-items:center;gap:.5rem}.pattern-summary-value{font-size:1rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:#a78bfa}.pattern-summary-label{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.pattern-card{display:flex;flex-direction:column;gap:.5rem;padding:.625rem;background:var(--bg-secondary, #12121f);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);transition:border-color .2s ease}.pattern-card:hover{border-color:#a78bfa66}.pattern-card--unused{opacity:.5}.pattern-card--unused:hover{opacity:.7}.pattern-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pattern-name{font-size:.75rem;font-weight:600;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-usage-badge{padding:.125rem .375rem;font-size:.625rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;background:#a78bfa33;border:1px solid rgba(167,139,250,.3);border-radius:4px;color:#a78bfa;flex-shrink:0}.pattern-card-footer{display:flex;justify-content:space-between;font-size:.625rem;color:var(--text-muted, #6a6a7a)}.pattern-category{text-transform:capitalize}.pattern-difficulty{opacity:.8}.pattern-tags{display:flex;flex-wrap:wrap;gap:.25rem}.pattern-tag{padding:.125rem .25rem;font-size:.5625rem;background:#64647833;border-radius:2px;color:var(--text-muted, #6a6a7a)}.pattern-tag-more{font-size:.5625rem;color:var(--text-muted, #6a6a7a);opacity:.7}.pattern-keys-sequence{display:flex;flex-wrap:wrap;gap:.25rem;padding:.375rem;background:var(--bg-tertiary, #0f0f1a);border-radius:4px}.pattern-key-wrapper{display:flex;align-items:center;justify-content:center}.pattern-keys-empty{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-style:italic}.pattern-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:3px;transition:transform .15s ease}.pattern-btn:hover{transform:scale(1.1)}.pattern-btn-sm{width:18px;height:18px;font-size:.6875rem}.pattern-btn-md{width:24px;height:24px;font-size:.875rem}.pattern-btn-ddr{background:#0000004d;border:1px solid currentColor}.pattern-btn-ddr.ddr-btn-up{color:#eab308}.pattern-btn-ddr.ddr-btn-down{color:#3b82f6}.pattern-btn-ddr.ddr-btn-left{color:#a855f7}.pattern-btn-ddr.ddr-btn-right{color:#22c55e}.pattern-btn-gh{border-radius:50%}.pattern-btn-gh.gh-btn-1{background:#ef44444d;border:1px solid #ef4444;color:#f87171}.pattern-btn-gh.gh-btn-2{background:#f973164d;border:1px solid #f97316;color:#fb923c}.pattern-btn-gh.gh-btn-3{background:#eab3084d;border:1px solid #eab308;color:#facc15}.pattern-btn-gh.gh-btn-4{background:#22c55e4d;border:1px solid #22c55e;color:#4ade80}.pattern-btn-gh.gh-btn-5{background:#3b82f64d;border:1px solid #3b82f6;color:#60a5fa}.pattern-show-more-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.5rem;font-size:.75rem;color:var(--text-muted, #6a6a7a);background:var(--bg-secondary, #12121f);border:1px dashed var(--border-color, #2a2a4a);border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.pattern-show-more-btn:hover{color:#a78bfa;border-color:#a78bfa4d}.pattern-section{display:flex;flex-direction:column;gap:.625rem}.pattern-section-header{display:flex;align-items:center;justify-content:space-between;padding:.375rem 0;border-bottom:1px solid var(--border-color, #2a2a4a)}.pattern-section-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #a0a0b0)}.pattern-section-count{font-size:.625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);background:var(--bg-secondary, #12121f);padding:.125rem .375rem;border-radius:4px}.pattern-library-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .75rem;font-size:.75rem;color:var(--text-secondary, #a0a0b0);background:var(--bg-secondary, #12121f);border:1px solid var(--border-color, #2a2a4a);border-radius:6px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.pattern-library-toggle:hover{color:#a78bfa;border-color:#a78bfa4d;background:#a78bfa0d}.pattern-library-toggle--open{border-bottom-left-radius:0;border-bottom-right-radius:0}.pattern-library-chevron{transition:transform .2s ease;flex-shrink:0}.pattern-library-chevron--open{transform:rotate(90deg)}.pattern-library-toggle-text{flex:1;text-align:left}.pattern-full-library{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border:1px solid var(--border-color, #2a2a4a);border-radius:0 0 6px 6px;border-top:none}.pattern-category-filter{display:flex;flex-wrap:wrap;gap:.375rem}.pattern-filter-chip{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:var(--text-muted, #6a6a7a);background:var(--bg-secondary, #12121f);border:1px solid var(--border-color, #2a2a4a);border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.pattern-filter-chip:hover{color:var(--text-secondary, #a0a0b0);border-color:#a78bfa4d}.pattern-filter-chip--active{color:#a78bfa;background:#a78bfa26;border-color:#a78bfa66}.pattern-category-section{display:flex;flex-direction:column;gap:.625rem}.pattern-category-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0}.pattern-category-name{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.pattern-category-count{font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a)}@media (max-width: 640px){.pattern-grid{grid-template-columns:1fr}.pattern-summary{flex-direction:column;gap:.5rem}.pattern-summary-item{justify-content:space-between}.pattern-category-filter{gap:.25rem}}.pattern-header:focus,.pattern-library-toggle:focus,.pattern-show-more-btn:focus,.pattern-filter-chip:focus{outline:2px solid rgba(167,139,250,.5);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion: reduce){.pattern-btn,.pattern-card,.pattern-library-chevron{transition:none}}@media (prefers-contrast: more){.pattern-btn,.pattern-card{border-width:2px}}.plb{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-radius:6px}.plb-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0}.plb-header-left{display:flex;align-items:center;gap:.5rem}.plb-header-icon{color:#60a5fa}.plb-header-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary, #a0a0b0);display:flex;align-items:center;gap:.5rem}.plb-header-mode{font-size:.6875rem;font-weight:400;color:var(--text-muted, #6a6a7a)}.plb-header-total{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);background:var(--bg-secondary, #12121f);padding:.125rem .375rem;border-radius:4px}.plb-stats{display:flex;gap:1rem;padding:.5rem;background:var(--bg-secondary, #12121f);border-radius:4px}.plb-stat{display:flex;align-items:center;gap:.375rem}.plb-stat-value{font-size:.875rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace;color:#60a5fa}.plb-stat-label{font-size:.625rem;color:var(--text-muted, #6a6a7a)}.plb-filter{display:flex;flex-wrap:wrap;gap:.375rem}.plb-filter-chip{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:var(--text-muted, #6a6a7a);background:var(--bg-secondary, #12121f);border:1px solid var(--border-color, #2a2a4a);border-radius:4px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.plb-filter-chip:hover{color:var(--text-secondary, #a0a0b0);border-color:#60a5fa4d}.plb-filter-chip--active{color:#60a5fa;background:#60a5fa26;border-color:#60a5fa66}.plb-filter-chip:focus{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.plb-category-section{display:flex;flex-direction:column;gap:.625rem}.plb-category-header{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--border-color, #2a2a4a)}.plb-category-name{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6a6a7a)}.plb-category-count{font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a)}.plb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.plb-card{display:flex;flex-direction:column;gap:.5rem;padding:.625rem;background:var(--bg-secondary, #12121f);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);transition:border-color .2s ease}.plb-card:hover{border-color:#60a5fa66}.plb-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plb-card-name{font-size:.75rem;font-weight:600;color:var(--text-primary, #e0e0e0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plb-card-difficulty{font-size:.5625rem;font-family:JetBrains Mono,Fira Code,monospace;color:#60a5fa;background:#60a5fa26;padding:.125rem .375rem;border-radius:4px;flex-shrink:0}.plb-card-footer{display:flex;justify-content:space-between;font-size:.625rem;color:var(--text-muted, #6a6a7a)}.plb-card-category{text-transform:capitalize}.plb-card-measures{opacity:.7}.plb-card-tags{display:flex;flex-wrap:wrap;gap:.25rem}.plb-tag{padding:.125rem .25rem;font-size:.5625rem;background:#64647833;border-radius:2px;color:var(--text-muted, #6a6a7a)}.plb-tag-more{font-size:.5625rem;color:var(--text-muted, #6a6a7a);opacity:.7}.plb-keys-sequence{display:flex;flex-wrap:wrap;gap:.25rem;padding:.375rem;background:var(--bg-tertiary, #0f0f1a);border-radius:4px}.plb-key-wrapper{display:flex;align-items:center;justify-content:center}.plb-keys-empty{font-size:.6875rem;color:var(--text-muted, #6a6a7a);font-style:italic}.plb-btn{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border-radius:3px}.plb-btn-sm{width:18px;height:18px;font-size:.6875rem}.plb-btn-ddr{background:#0000004d;border:1px solid currentColor}.plb-btn-up{color:#eab308}.plb-btn-down{color:#3b82f6}.plb-btn-left{color:#a855f7}.plb-btn-right{color:#22c55e}.plb-btn-gh{border-radius:50%}.plb-gh-1{background:#ef44444d;border:1px solid #ef4444;color:#f87171}.plb-gh-2{background:#f973164d;border:1px solid #f97316;color:#fb923c}.plb-gh-3{background:#eab3084d;border:1px solid #eab308;color:#facc15}.plb-gh-4{background:#22c55e4d;border:1px solid #22c55e;color:#4ade80}.plb-gh-5{background:#3b82f64d;border:1px solid #3b82f6;color:#60a5fa}@media (max-width: 640px){.plb-grid{grid-template-columns:1fr}.plb-stats{flex-wrap:wrap;gap:.5rem}.plb-filter{gap:.25rem}}@media (prefers-reduced-motion: reduce){.plb-card,.plb-filter-chip{transition:none}}@media (prefers-contrast: more){.plb-card,.plb-btn{border-width:2px}}.mapping-source-timeline{display:flex;flex-direction:column;gap:.5rem;background:var(--card-bg, #1a1a2e);border-radius:6px;border:1px solid var(--border-color, #2a2a4a);overflow:hidden}.mapping-source-timeline--empty{padding:2rem;align-items:center;justify-content:center}.mapping-source-empty-message{margin:0;color:var(--text-muted, #6a6a7a);font-size:.875rem}.mapping-source-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:var(--bg-tertiary, #0f0f1a);border-bottom:1px solid var(--border-color, #2a2a4a)}.mapping-source-header-left{display:flex;align-items:center;gap:.5rem}.mapping-source-header-icon{color:hsl(var(--primary))}.mapping-source-header-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #e0e0e0)}.mapping-source-summary{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:var(--bg-secondary, #12121f);flex-wrap:wrap}.mapping-source-summary-item{display:flex;align-items:center;gap:.375rem}.mapping-source-summary-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mapping-source-summary-label{font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.mapping-source-summary-value{font-size:.875rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-primary, #e0e0e0)}.mapping-source-summary-pct{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.mapping-source-summary-pitch .mapping-source-summary-value{color:#22c55e}.mapping-source-summary-pattern .mapping-source-summary-value{color:#f59e0b}.mapping-source-summary-unknown .mapping-source-summary-value{color:#6b7280}.mapping-source-summary-divider{width:1px;height:16px;background:var(--border-color, #2a2a4a)}.mapping-source-summary-total .mapping-source-summary-value{color:var(--text-primary, #e0e0e0)}.mapping-source-filters{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--bg-secondary, #12121f)}.mapping-source-filter-btn{display:flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:500;color:var(--text-secondary, #a0a0b0);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s ease}.mapping-source-filter-btn:hover{background:#ffffff0d;color:var(--text-primary, #e0e0e0)}.mapping-source-filter-btn--active{background:#ffffff1a;border-color:var(--border-color, #2a2a4a);color:var(--text-primary, #e0e0e0)}.mapping-source-filter-btn--pitch.mapping-source-filter-btn--active{border-color:#22c55e66;color:#22c55e}.mapping-source-filter-btn--pattern.mapping-source-filter-btn--active{border-color:#f59e0b66;color:#f59e0b}.mapping-source-bar{display:flex;height:4px;margin:0 .75rem;border-radius:2px;overflow:hidden;background:var(--bg-tertiary, #0f0f1a)}.mapping-source-bar-fill{height:100%;transition:width .3s ease}.mapping-source-bar-pitch{background:#22c55e}.mapping-source-bar-pattern{background:#f59e0b}.mapping-source-bar-unknown{background:#6b7280}.mapping-source-track{position:relative;cursor:grab;overflow:hidden;min-height:80px;padding:.5rem 0}.mapping-source-track--dragging{cursor:grabbing}.mapping-source-track:focus{outline:2px solid hsl(var(--primary)) inset;outline-offset:-2px}.mapping-source-track-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#6b72800d,#6b728005,#3b82f60d);pointer-events:none}.mapping-source-marker{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);z-index:10;transition:transform .1s ease}.mapping-source-marker-ring{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:2.5px solid var(--source-color, #6b7280);background:#00000059;transition:box-shadow .15s ease}.mapping-source-marker:hover .mapping-source-marker-ring{box-shadow:0 0 10px var(--source-color, #6b7280);transform:scale(1.15)}.mapping-source-marker-icon{display:flex;align-items:center;justify-content:center}.mapping-source-marker-fret{font-size:.75rem;font-weight:700;font-family:JetBrains Mono,Fira Code,monospace}.mapping-source-marker--past{opacity:.4}.mapping-source-marker--current{animation:source-pulse .3s ease-in-out}.mapping-source-marker--current .mapping-source-marker-ring{box-shadow:0 0 14px var(--source-color, #6b7280);transform:scale(1.2)}@keyframes source-pulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.mapping-source-marker--downbeat .mapping-source-marker-ring{border-width:3px;box-shadow:0 0 6px var(--source-color, #6b7280)}.mapping-source-marker--generated .mapping-source-marker-ring{border-style:dashed}.mapping-source-marker--grouped .mapping-source-marker-ring{box-shadow:0 0 10px #f59e0b59}.mapping-source-pattern-connector{position:absolute;top:50%;height:3px;transform:translateY(-50%);background:#f59e0b40;border-radius:1.5px;z-index:5;pointer-events:none;box-shadow:0 0 8px #f59e0b26}.mapping-source-playhead{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%);z-index:50;pointer-events:none}.mapping-source-playhead-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:hsl(var(--primary));box-shadow:0 0 8px hsl(var(--primary) / .5)}.mapping-source-quickscroll{display:flex;align-items:center;padding:.25rem .75rem}.mapping-source-quickscroll-track{position:relative;flex:1;height:.5rem;background:hsl(var(--surface-3));border-radius:.25rem;cursor:pointer;overflow:hidden;border:1px solid hsl(var(--border) / .3)}.mapping-source-quickscroll-track:hover{background:hsl(var(--surface-4));border-color:hsl(var(--primary) / .3)}.mapping-source-quickscroll-marker{position:absolute;top:1px;bottom:1px;width:1px;transform:translate(-50%);opacity:.4}.mapping-source-quickscroll-viewport{position:absolute;top:0;bottom:0;background:hsl(var(--primary) / .2);border-left:1px solid hsl(var(--primary) / .5);border-right:1px solid hsl(var(--primary) / .5);border-radius:.125rem;pointer-events:none;min-width:4px}.mapping-source-quickscroll-position{position:absolute;top:-1px;bottom:-1px;width:2px;background:hsl(var(--primary));transform:translate(-50%);z-index:2;pointer-events:none}.mapping-source-tooltip{padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.mapping-source-tooltip-content{display:flex;flex-direction:column;gap:.125rem}.mapping-source-tooltip-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.mapping-source-tooltip-btn{font-size:.8125rem;font-weight:600;text-transform:capitalize}.mapping-source-tooltip-time{font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.mapping-source-tooltip-source{font-size:.75rem;font-weight:600}.mapping-source-tooltip-downbeat{font-size:.6875rem;color:#eab308;font-weight:500}.mapping-source-tooltip-det{font-size:.6875rem;color:#3b82f6}.mapping-source-tooltip-gen{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.mapping-source-tooltip-pattern{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.mapping-source-tooltip-pattern-name{color:#f59e0b;font-weight:500}.mapping-source-tooltip-pattern-position{color:var(--text-muted, #6a6a7a);font-style:italic;font-size:.6875rem}.mapping-source-tooltip-pattern-keys{font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a);font-size:.625rem}.mapping-source-tooltip-band{font-size:.6875rem;color:var(--text-secondary, #a0a0b0)}.mapping-source-tooltip-band-name{text-transform:capitalize}.mapping-source-tooltip-skeleton{opacity:.3}.mapping-source-tooltip-spacer{height:1rem;pointer-events:none;visibility:hidden}.mapping-source-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary, #0f0f1a);border-top:1px solid var(--border-color, #2a2a4a)}.mapping-source-play-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:hsl(var(--primary));border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .15s ease;flex-shrink:0}.mapping-source-play-btn:hover:not(:disabled){background:hsl(var(--primary) / .8)}.mapping-source-play-btn:disabled{opacity:.5;cursor:not-allowed}.mapping-source-time{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-secondary, #a0a0b0)}.mapping-source-visible{font-size:.6875rem;color:var(--text-muted, #6a6a7a)}.mapping-source-zoom{display:flex;align-items:center;gap:.25rem;margin-left:auto;font-size:.6875rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--text-muted, #6a6a7a)}.mapping-source-zoom button{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;font-size:.875rem;font-weight:700;color:var(--text-secondary, #a0a0b0);background:var(--bg-secondary, #12121f);border:1px solid var(--border-color, #2a2a4a);border-radius:3px;cursor:pointer}.mapping-source-zoom button:hover:not(:disabled){background:#ffffff0d}.mapping-source-zoom button:disabled{opacity:.3;cursor:not-allowed}.mapping-source-zoom span{cursor:pointer;min-width:32px;text-align:center}.mapping-source-zoom span:hover{color:var(--text-primary, #e0e0e0)}@media (max-width: 640px){.mapping-source-header{flex-direction:column;align-items:flex-start;gap:.5rem}.mapping-source-summary{gap:.5rem}.mapping-source-controls{flex-wrap:wrap;gap:.5rem}.mapping-source-visible{display:none}.mapping-source-tooltip-row{flex-direction:column;align-items:flex-start;gap:.125rem}}@media (prefers-reduced-motion: reduce){.mapping-source-marker{transition:none}@keyframes source-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}}}.auto-ready-panel{display:flex;flex-direction:column;gap:1.5rem}.auto-ready-panel--empty{min-height:300px;display:flex;align-items:center;justify-content:center}.auto-ready-header{display:flex;flex-direction:column;gap:.25rem}.auto-ready-title{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0}.auto-ready-subtitle{font-size:.875rem;color:var(--text-secondary, #94a3b8);margin:0}.auto-ready-difficulty-section{display:flex;justify-content:center;padding:.5rem 0}.auto-ready-summary{background:var(--bg-secondary, #1e293b);border-radius:.75rem;padding:1rem;border:1px solid var(--border-color, #334155)}.auto-ready-summary--empty{display:flex;align-items:center;justify-content:center;min-height:100px;color:var(--text-secondary, #94a3b8)}.auto-ready-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.auto-ready-summary-difficulty{padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#fff}.auto-ready-summary-mode{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-secondary, #94a3b8)}.auto-ready-summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.auto-ready-stat{display:flex;flex-direction:column;align-items:center;gap:.125rem}.auto-ready-stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary, #f8fafc)}.auto-ready-stat-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #94a3b8)}.auto-ready-chart-section{display:flex;flex-direction:column;gap:.75rem}.auto-ready-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #94a3b8);margin:0}.auto-ready-downbeat-section{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border-warning, #f59e0b33);border-radius:.75rem;padding:1rem;background:var(--bg-warning, rgba(245, 158, 11, .05))}.auto-ready-downbeat-callout{display:flex;align-items:flex-start;gap:.5rem}.auto-ready-downbeat-callout-text{font-size:.8rem;color:var(--text-warning, #fbbf24);line-height:1.5;margin:0;font-weight:500}.auto-ready-regenerate{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;border-radius:.75rem;background:linear-gradient(135deg,var(--bg-warning, rgba(245, 158, 11, .08)),var(--bg-tertiary, #0f172a));border:2px solid var(--border-warning, #f59e0b55);text-align:center}.auto-ready-regenerate-heading{font-size:1rem;font-weight:700;color:var(--text-warning, #fbbf24);margin:0}.auto-ready-regenerate-hint{font-size:.8rem;color:var(--text-secondary, #94a3b8);text-align:center;margin:0;line-height:1.4}.auto-ready-regenerate-btn{min-width:200px}.auto-ready-timeline{display:flex;flex-direction:column;gap:.5rem}.auto-ready-timeline-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.auto-ready-timeline-label{font-size:.75rem;color:var(--text-secondary, #94a3b8)}.auto-ready-timeline-play-btn{flex-shrink:0}.auto-ready-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-bottom:.5rem}.auto-ready-start-btn{min-width:240px;max-width:360px;width:100%}.auto-ready-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem}.auto-ready-placeholder-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #1e293b);border-radius:50%;color:var(--text-secondary, #94a3b8)}.auto-ready-placeholder-title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #f8fafc);margin:0}.auto-ready-placeholder-text{font-size:.875rem;color:var(--text-secondary, #94a3b8);margin:0;max-width:280px}@media (max-width: 640px){.auto-ready-summary-stats{grid-template-columns:repeat(2,1fr)}.auto-ready-difficulty-section{overflow-x:auto;padding-bottom:.5rem}}.character-gen-container{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.character-gen-container{gap:1rem}}.character-gen-container .card-padding-md{padding:.75rem!important}.character-gen-container .card-padding-sm{padding:.5rem!important}.character-section-title{margin-top:.25rem;margin-bottom:.625rem;font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));line-height:1.2}@media (min-width: 640px){.character-section-title{font-size:1.25rem}}.character-gen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}@media (min-width: 640px){.character-gen-header{flex-wrap:nowrap}}.character-gen-header-content{display:flex;flex-direction:column;gap:.25rem}.character-gen-header-title-row{display:flex;align-items:center;gap:.375rem}@media (min-width: 640px){.character-gen-header-title-row{gap:.625rem}}.character-gen-header-icon-wrapper{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .2),hsl(var(--cute-pink) / .2));border-radius:var(--radius);color:hsl(var(--cute-purple))}@media (min-width: 640px){.character-gen-header-icon-wrapper{width:2.25rem;height:2.25rem;border-radius:.625rem}}.character-gen-header-icon{width:.875rem;height:.875rem}@media (min-width: 640px){.character-gen-header-icon{width:1.125rem;height:1.125rem}}.character-gen-header-title{font-size:1.125rem;font-weight:600;line-height:1.2}@media (min-width: 640px){.character-gen-header-title{font-size:1.375rem}}.character-gen-header-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 640px){.character-gen-header-subtitle{font-size:.875rem}}.character-gen-actions{display:flex;flex-wrap:wrap;gap:.375rem}.character-gen-selection-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:.25rem;margin-bottom:.25rem;align-items:stretch}@media (min-width: 640px){.character-gen-selection-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (min-width: 640px){.character-gen-actions{gap:.625rem}}.character-gen-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;text-align:center;gap:.625rem}@media (min-width: 640px){.character-gen-empty-state{padding:2rem 1.5rem;gap:.875rem}}.character-gen-empty-icon-wrapper{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .1),hsl(var(--cute-pink) / .1));border-radius:var(--radius-full)}@media (min-width: 640px){.character-gen-empty-icon-wrapper{width:4rem;height:4rem}}.character-gen-empty-icon{font-size:2rem}@media (min-width: 640px){.character-gen-empty-icon{font-size:2.5rem}}.character-gen-empty-title{font-size:1rem;font-weight:600}@media (min-width: 640px){.character-gen-empty-title{font-size:1.125rem}}.character-gen-empty-description{font-size:.75rem;color:hsl(var(--muted-foreground));max-width:20rem}@media (min-width: 640px){.character-gen-empty-description{font-size:.875rem;max-width:24rem}}.character-sheet{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.character-sheet{gap:1rem}}.character-header-card{background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--primary) / .1),hsl(var(--cute-pink) / .05));border:1px solid hsl(var(--cute-purple) / .2);position:relative;overflow:hidden}.character-header-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsl(var(--cute-purple)),hsl(var(--primary)),hsl(var(--cute-pink)))}.character-header-stats-card{background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--primary) / .1),hsl(var(--cute-pink) / .05));border:1px solid hsl(var(--cute-purple) / .2);border-radius:var(--radius);position:relative;overflow:visible;padding:.75rem}.character-header-stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsl(var(--cute-purple)),hsl(var(--primary)),hsl(var(--cute-pink)))}.character-header-stats-content{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.character-header-stats-content{flex-direction:row;align-items:center;gap:1.5rem}}.character-info-section{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex:1;min-width:0}.character-header-stats-content .character-stats-grid{flex-shrink:0}@media (min-width: 640px){.character-header-stats-content .character-stats-grid{gap:.5rem}}.character-header-stats-content .character-stat-card{min-width:3.5rem}.character-header-content{display:flex;flex-direction:column;gap:.625rem}@media (min-width: 640px){.character-header-content{flex-direction:row;align-items:center;gap:1.25rem}}.character-avatar{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .3),hsl(var(--cute-pink) / .3));border-radius:1rem;font-size:1.75rem;flex-shrink:0;position:relative}@media (min-width: 640px){.character-avatar{width:4.5rem;height:4.5rem;font-size:2.25rem;border-radius:1.25rem}}.character-level-badge{position:absolute;bottom:-.5rem;right:-.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-yellow)));border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;color:hsl(var(--background));box-shadow:0 2px 8px hsl(var(--primary) / .4);border:2px solid hsl(var(--background))}@media (min-width: 640px){.character-level-badge{width:1.75rem;height:1.75rem;font-size:.8125rem}}.character-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.character-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.character-name{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 640px){.character-name{font-size:1.5rem}}.character-class{font-size:.875rem;color:hsl(var(--muted-foreground))}@media (min-width: 640px){.character-class{font-size:1rem}}.character-xp{font-size:.75rem;color:hsl(var(--primary))}@media (min-width: 640px){.character-xp{font-size:.875rem}}.character-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}@media (min-width: 480px){.character-stats-grid{grid-template-columns:repeat(5,1fr);gap:.5rem}}.character-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .375rem;text-align:center;contain:none}@media (min-width: 480px){.character-stat-card{padding:.625rem .5rem}}.character-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));font-weight:500;text-transform:uppercase;letter-spacing:.05em}@media (min-width: 480px){.character-stat-label{font-size:.75rem}}.character-stat-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 480px){.character-stat-value{font-size:1.375rem}}.character-abilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}@media (min-width: 480px){.character-abilities-grid{grid-template-columns:repeat(6,1fr);gap:.5rem}}.character-ability-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.375rem;gap:.25rem;text-align:center;position:relative;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);transition:border-color var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform}.character-ability-card:hover{background:hsl(var(--surface-3));border-color:hsl(var(--primary) / .3);transform:translateY(-2px) var(--gpu-accel);box-shadow:var(--shadow-md)}.character-ability-label{font-size:.625rem;color:hsl(var(--muted-foreground));font-weight:600}@media (min-width: 480px){.character-ability-label{font-size:.75rem}}.character-ability-score{font-size:.875rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 480px){.character-ability-score{font-size:1.125rem}}.character-ability-modifier{font-size:.6875rem;color:hsl(var(--primary));font-weight:600}@media (min-width: 480px){.character-ability-modifier{font-size:.8125rem}}.character-skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.125rem}@media (min-width: 480px){.character-skills-grid{grid-template-columns:repeat(3,1fr);gap:.375rem}}@media (min-width: 640px){.character-skills-grid{grid-template-columns:repeat(4,1fr);gap:.375rem}}.character-skill-item{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic);cursor:default}.character-skill-item:hover{background:hsl(var(--surface-3));border-color:hsl(var(--muted-foreground) / .3)}.character-skill-name{font-size:.6875rem;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}@media (min-width: 480px){.character-skill-name{font-size:.8125rem}}.character-skill-proficiency{font-size:.875rem;font-weight:600}.character-skill-proficiency.none{color:hsl(var(--muted-foreground))}.character-skill-proficiency.proficient{color:hsl(var(--primary))}.character-skill-proficiency.expertise{color:hsl(var(--cute-yellow));text-shadow:0 0 10px hsl(var(--cute-yellow) / .3)}.character-saving-throws-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}@media (min-width: 480px){.character-saving-throws-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media (min-width: 640px){.character-saving-throws-grid{grid-template-columns:repeat(6,1fr);gap:.5rem}}.character-saving-throw-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic)}.character-saving-throw-item:hover{background:hsl(var(--surface-3));border-color:hsl(var(--muted-foreground) / .3);transform:translateY(-1px)}.character-saving-throw-item.proficient{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--cute-yellow) / .1));border-color:hsl(var(--primary) / .3)}.character-saving-throw-item.proficient:hover{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-yellow) / .15));border-color:hsl(var(--primary) / .4)}.character-saving-throw-ability{font-size:.75rem;color:hsl(var(--foreground));font-weight:600}@media (min-width: 480px){.character-saving-throw-ability{font-size:.8125rem}}.character-saving-throw-indicator{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.character-saving-throw-item.proficient .character-saving-throw-indicator{color:hsl(var(--primary))}.character-saving-throw-empty{font-size:.875rem;opacity:.5}.character-traits-grid{display:flex;flex-wrap:wrap;gap:.375rem}@media (min-width: 640px){.character-traits-grid{gap:.5rem}}.character-trait-badge{display:inline-flex;align-items:center;padding:.375rem .625rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--cute-pink) / .1));border:1px solid hsl(var(--cute-purple) / .25);border-radius:calc(var(--radius) - 2px);font-size:.75rem;font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 480px){.character-trait-badge{font-size:.8125rem;padding:.4375rem .75rem}}.character-trait-badge:hover{background:linear-gradient(135deg,hsl(var(--cute-purple) / .25),hsl(var(--cute-pink) / .15));border-color:hsl(var(--cute-purple) / .4);transform:translateY(-1px)}.character-trait-badge-selected{background:linear-gradient(135deg,hsl(var(--cute-purple) / .35),hsl(var(--cute-pink) / .25));border-color:hsl(var(--cute-purple) / .6);box-shadow:0 0 0 2px hsl(var(--cute-purple) / .2),0 0 12px hsl(var(--cute-purple) / .3);transform:translateY(-1px)}.character-trait-badge:focus-visible{outline:2px solid hsl(var(--primary) / .5);outline-offset:2px}.character-spells-grid{display:flex;flex-wrap:wrap;gap:.5rem}.character-spell-badge{display:inline-flex;align-items:center;padding:.375rem .625rem;border-radius:calc(var(--radius) - 2px);border:1px solid;font-size:.8125rem;font-weight:500;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic)}.character-spell-badge:hover{transform:translateY(-1px);filter:brightness(1.1)}.character-spell-badge-selected{box-shadow:0 0 0 2px hsl(var(--cute-purple) / .4),0 0 12px hsl(var(--cute-purple) / .3);transform:translateY(-1px)}.character-spell-badge:focus-visible{outline:2px solid hsl(var(--primary) / .5);outline-offset:2px}.character-appearance-section{display:flex;flex-direction:column;gap:.625rem}@media (min-width: 640px){.character-appearance-section{gap:.75rem}}.character-appearance-row{display:flex;align-items:center;gap:.75rem}.character-appearance-label{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:500;min-width:5rem}@media (min-width: 640px){.character-appearance-label{font-size:.875rem;min-width:6rem}}.character-appearance-value{font-size:.875rem;color:hsl(var(--foreground))}@media (min-width: 640px){.character-appearance-value{font-size:1rem}}.character-appearance-colors-grid{display:flex;flex-wrap:wrap;gap:1rem}.character-appearance-color-item{display:flex;flex-direction:column;align-items:center;gap:.375rem}.character-appearance-color-swatch{width:1.25rem;height:1.25rem;border-radius:4px;border:1px solid hsl(var(--border) / .5);box-shadow:0 1px 3px hsl(var(--foreground) / .1);transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 640px){.character-appearance-color-swatch{width:1.5rem;height:1.5rem}}.character-appearance-color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 6px hsl(var(--foreground) / .15)}.character-appearance-color-label{font-size:.6875rem;color:hsl(var(--muted-foreground));font-weight:500}@media (min-width: 640px){.character-appearance-color-label{font-size:.75rem}}.character-appearance-features{display:flex;flex-direction:column;gap:.5rem}.character-appearance-features .character-appearance-label{margin-bottom:0}.character-equipment-section{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.character-equipment-section{gap:.75rem}}.character-equipment-card{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}@media (min-width: 640px){.character-equipment-card{padding:.75rem}}.character-equipment-label{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:500}@media (min-width: 640px){.character-equipment-label{font-size:.875rem}}.character-equipment-items{font-size:.875rem;color:hsl(var(--foreground))}.character-equipment-item-wrapper{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:.125rem}.character-equipment-item{display:inline-flex;align-items:center;gap:.25rem}.character-equipment-quantity{color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:500}.character-equipment-equipped{color:hsl(var(--cute-teal));font-weight:600}.character-equipment-item{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--surface-2));border:1px solid hsl(var(--border));cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.character-equipment-item:hover{border-color:hsl(var(--primary) / .5)}.character-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-teal) / .05));border-color:hsl(var(--cute-teal) / .4)}.character-equipment-item-selected{cursor:pointer;box-shadow:0 0 0 2px hsl(var(--primary) / .5),0 0 12px 2px hsl(var(--primary) / .3);border-color:hsl(var(--primary))}.character-equipment-checkmark{color:hsl(var(--cute-teal));flex-shrink:0}.character-equipment-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--cute-teal) / .2);color:hsl(var(--cute-teal));border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.character-equipment-weight{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.625rem;margin-top:.5rem;background:hsl(var(--surface-2));border-radius:var(--radius);border:1px solid hsl(var(--border))}.character-equipment-weight-label{font-size:.8125rem;color:hsl(var(--muted-foreground))}.character-equipment-weight-separator{color:hsl(var(--border));font-size:.8125rem}.character-spells-empty{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:left;padding:.5rem 0;font-style:italic}.character-audio-mapping-table{width:100%;border-collapse:collapse;font-size:.75rem}@media (min-width: 640px){.character-audio-mapping-table{font-size:.875rem}}.character-audio-mapping-table thead{border-bottom:1px solid hsl(var(--border))}.character-audio-mapping-table th{text-align:left;padding:.375rem .625rem;font-weight:600;color:hsl(var(--muted-foreground))}@media (min-width: 480px){.character-audio-mapping-table th{padding:.375rem .625rem}}.character-audio-mapping-table td{padding:.375rem .625rem;border-bottom:1px solid hsl(var(--border) / .5)}@media (min-width: 480px){.character-audio-mapping-table td{padding:.375rem .625rem}}.character-audio-trait-row{transition:background-color var(--duration-fast) var(--ease-out-cubic)}.character-audio-trait-row:hover{background-color:hsl(var(--surface-3) / .5)}.character-audio-trait-cell{display:flex;align-items:center;gap:.5rem}.character-audio-trait-dot{width:.375rem;height:.375rem;border-radius:var(--radius-full);flex-shrink:0}@media (min-width: 480px){.character-audio-trait-dot{width:.625rem;height:.625rem}}.character-audio-trait-name{font-size:.75rem}@media (min-width: 480px){.character-audio-trait-name{font-size:.875rem}}.character-audio-value{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.625rem}@media (min-width: 480px){.character-audio-value{font-size:.75rem}}.character-audio-badge{display:inline-block;padding:.125rem .375rem;border-radius:calc(var(--radius) - 2px);font-size:.625rem;font-weight:600}@media (min-width: 480px){.character-audio-badge{padding:.1875rem .625rem;font-size:.75rem}}.character-audio-badge.str{background-color:hsl(var(--cute-pink) / .2);color:hsl(var(--cute-pink))}.character-audio-badge.dex{background-color:hsl(var(--cute-teal) / .2);color:hsl(var(--cute-teal))}.character-audio-badge.con{background-color:hsl(var(--cute-yellow) / .2);color:hsl(var(--cute-yellow))}.character-audio-badge.int{background-color:hsl(var(--primary) / .2);color:hsl(var(--primary))}.character-audio-badge.wis{background-color:hsl(var(--cute-purple) / .2);color:hsl(var(--cute-purple))}.character-audio-badge.cha{background-color:hsl(var(--cute-orange) / .2);color:hsl(var(--cute-orange))}.character-audio-score{text-align:center;font-weight:700}.character-audio-trait-note{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.75rem}.character-determinism-result{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem}.character-determinism-icon{font-size:1.25rem;flex-shrink:0}@media (min-width: 640px){.character-determinism-icon{font-size:1.75rem}}.character-determinism-icon.match{color:hsl(var(--cute-teal))}.character-determinism-icon.mismatch{color:hsl(var(--destructive))}.character-status-message{display:flex;flex-direction:column;gap:.25rem;padding:.625rem .875rem}@media (min-width: 640px){.character-status-message{padding:.75rem 1rem}}.character-status-message.error{background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius)}.character-status-message.success{background-color:hsl(var(--cute-teal) / .1);border:1px solid hsl(var(--cute-teal) / .3);border-radius:var(--radius)}.character-status-title{font-size:.875rem;font-weight:600}.character-status-title.error{color:hsl(var(--destructive))}.character-status-title.success{color:hsl(var(--cute-teal))}.character-status-text{font-size:.75rem;color:hsl(var(--foreground) / .8)}@media (min-width: 640px){.character-status-text{font-size:.875rem}}.character-ready-card{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--surface-2)));border:1px solid hsl(var(--primary) / .2)}.character-ready-content{display:flex;align-items:flex-start;gap:.625rem}.character-ready-icon-wrapper{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius);background-color:hsl(var(--primary) / .2);flex-shrink:0}.character-ready-icon-wrapper svg{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.character-ready-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.character-ready-title{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin:0}.character-ready-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:.25rem 0 0}.character-ready-description span{font-weight:500;color:hsl(var(--foreground))}.character-ready-seed{font-size:.75rem;color:hsl(var(--muted-foreground));margin:.25rem 0 0}.character-determinism-content{flex:1}.character-determinism-title{font-weight:700;font-size:.875rem;color:hsl(var(--foreground));margin:0 0 .25rem}.character-determinism-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0}.character-determinism-mismatch{margin-top:.5rem;padding:.625rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius)}.character-determinism-mismatch-title{font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:hsl(var(--foreground))}.character-determinism-diff-code{font-size:.75rem;background-color:hsl(var(--background));padding:.25rem .5rem;border-radius:var(--radius);font-family:monospace;display:inline-block}.character-determinism-deep-note{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.character-determinism-comparison{margin-top:.5rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.75rem}.character-determinism-comparison-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.25rem}.character-determinism-comparison-name{font-family:monospace;color:hsl(var(--foreground));margin:0}.character-determinism-comparison-details{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}.character-count-up{animation:countUp var(--duration-normal) var(--ease-out-cubic)}.character-game-mode-badge{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:var(--radius-full);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:help;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.character-game-mode-badge:hover{transform:scale(1.05)}.character-game-mode-badge.standard{background-color:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.character-game-mode-badge.standard:hover{background-color:hsl(var(--muted) / .5);box-shadow:0 2px 8px hsl(var(--muted) / .2)}.character-game-mode-badge.uncapped{background:linear-gradient(135deg,hsl(var(--cute-purple) / .3),hsl(var(--cute-pink) / .3));color:hsl(var(--cute-purple));border:1px solid hsl(var(--cute-purple) / .3)}.character-game-mode-badge.uncapped:hover{background:linear-gradient(135deg,hsl(var(--cute-purple) / .4),hsl(var(--cute-pink) / .4));box-shadow:0 2px 8px hsl(var(--cute-purple) / .3)}@media (min-width: 480px){.character-game-mode-badge{font-size:.75rem;padding:.25rem .625rem}}.character-equipment-item-ammunition{background:linear-gradient(135deg,hsl(var(--cute-orange) / .1),hsl(var(--cute-yellow) / .05));border-color:hsl(var(--cute-orange) / .3)}.character-equipment-item-ammunition:hover{background:linear-gradient(135deg,hsl(var(--cute-orange) / .15),hsl(var(--cute-yellow) / .1));border-color:hsl(var(--cute-orange) / .4)}.character-equipment-ammo-icon{color:hsl(var(--cute-orange));flex-shrink:0}.character-equipment-ammo-weight{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;font-style:italic;cursor:help}.character-equipment-item-ammunition.character-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-orange) / .1));border-color:hsl(var(--cute-teal) / .4)}.equipment-injection-section{display:flex;flex-direction:column;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.equipment-injection-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem .875rem;background-color:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.equipment-injection-header{padding:.875rem 1rem}}.equipment-injection-header:hover{background-color:hsl(var(--surface-3))}.equipment-injection-header:focus{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--primary))}.equipment-injection-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;box-shadow:none}.equipment-injection-header-left{display:flex;align-items:center;gap:.375rem}.equipment-injection-header-icon{color:hsl(var(--cute-orange));flex-shrink:0}.equipment-injection-header-left .equipment-injection-header-icon:first-of-type{color:hsl(var(--cute-pink))}.equipment-injection-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin-left:.25rem}@media (min-width: 768px){.equipment-injection-title{font-size:.875rem}}.equipment-injection-header-right{display:flex;align-items:center;gap:.5rem}.equipment-injection-count{font-size:.75rem;font-weight:500;color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);padding:.125rem .5rem;border-radius:calc(var(--radius) / 2)}.equipment-injection-chevron{color:hsl(var(--muted-foreground));transition:transform var(--duration-normal) var(--ease-out-cubic);flex-shrink:0;transform:var(--gpu-accel);will-change:transform}.equipment-injection-chevron-expanded{transform:rotate(180deg) var(--gpu-accel)}.equipment-injection-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out-cubic);padding:0 .875rem}.equipment-injection-content-expanded{grid-template-rows:1fr;padding:0 .875rem .875rem}@media (min-width: 768px){.equipment-injection-content{padding:0 1rem}.equipment-injection-content-expanded{padding:0 1rem 1rem}}.equipment-injection-content>*{overflow:hidden}.equipment-injection-content-expanded>*{overflow:visible}.equipment-injection-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .5);flex-wrap:wrap}.equipment-injection-counts{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.equipment-injection-count-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.equipment-injection-count-item svg{flex-shrink:0}.equipment-injection-clear-btn{font-size:.75rem!important;padding:.25rem .5rem!important}.equipment-injection-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:.5rem;font-style:italic}@media (min-width: 768px){.equipment-injection-hint{font-size:.75rem}}.equipment-injection-browsers-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:.75rem}@media (min-width: 1024px){.equipment-injection-browsers-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.equipment-injection-browsers-grid{grid-template-columns:repeat(2,1fr)}.equipment-injection-browsers-grid>*:nth-child(3){grid-column:span 2}}@media (max-width: 480px){.equipment-injection-header-left{gap:.25rem}.equipment-injection-counts{gap:.5rem}.equipment-injection-count-item{font-size:.6875rem}}@media (max-width: 767px){.character-gen-container,.character-sheet,.character-header-card,.character-info-section{width:100%;min-width:0;overflow:hidden}.character-stats-grid,.character-abilities-grid,.character-skills-grid,.character-saving-throws-grid{grid-template-columns:1fr;gap:.75rem}.character-section-title{font-size:.875rem;margin-bottom:.375rem}.character-gen-header-title{font-size:.875rem}.character-gen-header-subtitle{font-size:.6875rem}.character-name{font-size:.875rem}.character-class,.character-xp{font-size:.75rem}.character-stat-label{font-size:.5625rem}.character-stat-value{font-size:.875rem}.character-ability-label{font-size:.5625rem}.character-ability-score{font-size:.75rem}.character-ability-modifier,.character-skill-name{font-size:.625rem}.character-saving-throw-ability{font-size:.6875rem}.character-trait-badge{font-size:.6875rem;padding:.3125rem .5rem}.character-spell-badge{font-size:.75rem;padding:.3125rem .5rem}.character-appearance-label{font-size:.6875rem;min-width:4rem}.character-appearance-value{font-size:.75rem}.character-appearance-color-label{font-size:.625rem}.character-equipment-label{font-size:.6875rem}.character-equipment-items{font-size:.75rem}.character-equipment-badge{font-size:.625rem;padding:.0625rem .375rem}.character-equipment-weight-label,.character-equipment-weight-separator{font-size:.75rem}.character-gen-container .card-padding-md{padding:.5rem!important}.character-gen-container .card-padding-sm{padding:.375rem!important}.character-stat-card{padding:.375rem .3125rem}.character-ability-card{padding:.3125rem;gap:.1875rem}.character-skill-item{padding:.3125rem .5rem}.character-saving-throw-item{padding:.375rem .5rem}.character-equipment-card{padding:.375rem;gap:.375rem}.equipment-injection-browsers-grid{grid-template-columns:1fr;gap:.5rem}.character-gen-container{gap:.5rem}.character-traits-grid{gap:.3125rem}.character-spells-grid{gap:.375rem}.character-appearance-section{gap:.5rem}.character-equipment-section{gap:.375rem}.character-audio-mapping-table{font-size:.6875rem}.character-audio-mapping-table th,.character-audio-mapping-table td{padding:.3125rem .5rem}.character-audio-trait-name{font-size:.6875rem}.character-audio-value{font-size:.5625rem}.character-audio-badge{font-size:.5625rem;padding:.0625rem .3125rem}.character-determinism-result{padding:.5rem;gap:.5rem}.character-appearance-color-swatch{width:1rem;height:1rem}.character-equipment-weight{padding:.5rem;margin-top:.375rem}}.generation-mode-toggle-card{display:flex;flex-direction:column;gap:.75rem;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.generation-mode-toggle-card{padding:1rem}}.generation-mode-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.generation-mode-title{font-size:.8125rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 768px){.generation-mode-title{font-size:.875rem}}.generation-mode-info-wrapper{position:relative}.generation-mode-info-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:all var(--duration-fast) var(--ease-out-cubic)}.generation-mode-info-btn:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary));color:hsl(var(--primary))}.generation-mode-tooltip{position:absolute;top:100%;right:0;z-index:100;margin-top:.5rem;background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:16rem;max-width:18rem}.generation-mode-tooltip-content{padding:.75rem}.generation-mode-tooltip-content p{font-size:.75rem;line-height:1.4;margin:0 0 .5rem;color:hsl(var(--popover-foreground))}.generation-mode-tooltip-content p:last-child{margin-bottom:0}.generation-mode-tooltip-close{position:absolute;top:.25rem;right:.25rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-size:1rem;color:hsl(var(--muted-foreground));border-radius:var(--radius)}.generation-mode-options{display:flex;flex-direction:column;gap:.5rem}.generation-mode-option{position:relative;display:flex;align-items:center;padding:.75rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.generation-mode-option:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary) / .5)}.generation-mode-option-selected{background-color:hsl(var(--primary) / .1);border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary))}.generation-mode-radio{position:absolute;opacity:0;width:0;height:0}.generation-mode-option-content{display:flex;flex-direction:column;gap:.25rem;width:100%}.generation-mode-option-header{display:flex;align-items:center;gap:.5rem}.generation-mode-option-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.generation-mode-option-selected .generation-mode-option-icon{color:hsl(var(--primary))}.generation-mode-option-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.generation-mode-option-label{font-size:.875rem}}.generation-mode-option-description{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-left:1.625rem}@media (min-width: 768px){.generation-mode-option-description{font-size:.75rem}}.generation-mode-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:700;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;margin-left:auto;background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .3)}@media (min-width: 768px){.generation-mode-badge{font-size:.6875rem;padding:.1875rem .625rem}}.advanced-options-section{display:flex;flex-direction:column;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.advanced-options-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem .875rem;background-color:transparent;border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.advanced-options-header{padding:.875rem 1rem}}.advanced-options-header:hover{background-color:hsl(var(--surface-3))}.advanced-options-header:focus{outline:none;box-shadow:inset 0 0 0 2px hsl(var(--primary))}.advanced-options-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;box-shadow:none}.advanced-options-header-left{display:flex;align-items:center;gap:.5rem}.advanced-options-header-icon{color:hsl(var(--cute-purple));flex-shrink:0}.advanced-options-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.advanced-options-title{font-size:.875rem}}.advanced-options-chevron{color:hsl(var(--muted-foreground));transition:transform var(--duration-normal) var(--ease-out-cubic);flex-shrink:0;transform:var(--gpu-accel);will-change:transform}.advanced-options-chevron-expanded{transform:rotate(180deg) var(--gpu-accel)}.advanced-options-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out-cubic)}.advanced-options-content-expanded{grid-template-rows:1fr}.advanced-options-content>div{overflow:hidden}.advanced-options-content-expanded>div{overflow:visible}.advanced-options-content{padding:0 .875rem}.advanced-options-content-expanded{padding:0 .875rem .875rem}@media (min-width: 768px){.advanced-options-content{padding:0 1rem}.advanced-options-content-expanded{padding:0 1rem 1rem}}.advanced-options-group{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .5)}.advanced-options-group:first-child{border-top:none;padding-top:.875rem}.advanced-options-group-label{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.advanced-options-group-label{font-size:.8125rem}}.advanced-options-row{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.advanced-options-row{flex-direction:row;align-items:flex-end;gap:.75rem}}.advanced-options-input{flex:1}.advanced-options-checkbox{display:flex;align-items:center;gap:.375rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.advanced-options-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:hsl(var(--primary));cursor:pointer;flex-shrink:0}.advanced-options-checkbox-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}.advanced-options-checkbox-hint{font-size:.75rem;color:hsl(var(--muted-foreground))}.advanced-options-field{display:flex;flex-direction:column;gap:.25rem}.advanced-options-field-label{font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.advanced-options-field-label{font-size:.8125rem}}.advanced-options-select{width:100%;padding:.5rem 2rem .5rem .75rem;background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:var(--radius);font-size:.8125rem;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em}@media (min-width: 768px){.advanced-options-select{font-size:.875rem;padding:.5625rem 2rem .5625rem .75rem}}.advanced-options-select:hover{border-color:hsl(var(--muted-foreground) / .5)}.advanced-options-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.advanced-options-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .5);font-style:italic}@media (min-width: 768px){.advanced-options-hint{font-size:.75rem}}@media (max-width: 480px){.advanced-options-group,.advanced-options-row{gap:.375rem}}.effect-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:linear-gradient(135deg,color-mix(in srgb,var(--effect-color) 15%,transparent),color-mix(in srgb,var(--effect-color) 8%,transparent));border:1px solid color-mix(in srgb,var(--effect-color) 30%,transparent);border-radius:calc(var(--radius) - 2px);font-size:.75rem;font-weight:500;color:hsl(var(--foreground));transition:all var(--duration-fast) var(--ease-out-cubic);cursor:default;transform:var(--gpu-accel);will-change:transform}.effect-badge:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--effect-color) 25%,transparent),color-mix(in srgb,var(--effect-color) 12%,transparent));border-color:color-mix(in srgb,var(--effect-color) 45%,transparent);transform:translateY(-1px) var(--gpu-accel)}.effect-badge-compact{padding:.125rem .375rem;gap:.25rem;font-size:.6875rem}.effect-badge-icon{flex-shrink:0;color:var(--effect-color)}.effect-badge-type{color:var(--effect-color);font-weight:600}.effect-badge-target{color:hsl(var(--muted-foreground));font-weight:500}.effect-badge-target:before{content:"→";margin-right:.25rem;opacity:.7}.effect-badge-value{color:hsl(var(--foreground));font-weight:700;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.effect-badge-source{margin-left:auto;padding-left:.5rem;color:hsl(var(--muted-foreground));font-size:.625rem;font-weight:400;font-style:italic;opacity:.8}.effect-list{display:flex;flex-wrap:wrap;gap:.375rem}.effect-list-title{display:block;width:100%;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.effect-list-grouped{display:flex;flex-direction:column;gap:.75rem}.effect-type-group{display:flex;flex-direction:column;gap:.375rem}.effect-type-header{display:flex;align-items:center;gap:.375rem;padding-bottom:.25rem;border-bottom:1px solid hsl(var(--border) / .5)}.effect-type-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.effect-type-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.125rem;padding:0 .25rem;background:hsl(var(--surface-2));border-radius:var(--radius-full);font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground))}.effect-type-items{display:flex;flex-wrap:wrap;gap:.375rem;padding-left:.5rem}.effect-stacked{position:relative}.effect-stacking-indicator{display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem;padding:.0625rem .25rem;background:color-mix(in srgb,var(--effect-color) 30%,transparent);border-radius:calc(var(--radius) - 4px);font-size:.5625rem;font-weight:700;color:var(--effect-color);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.effect-stacked:hover .effect-stacking-indicator{background:color-mix(in srgb,var(--effect-color) 50%,transparent)}.active-effects-summary{padding:.75rem;background:linear-gradient(135deg,hsl(var(--surface-2)),hsl(var(--surface-1)));border:1px solid hsl(var(--border));border-radius:var(--radius)}.active-effects-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .5)}.active-effects-icon{color:hsl(var(--cute-yellow));flex-shrink:0}.active-effects-title{margin:0;font-size:.875rem;font-weight:600;color:hsl(var(--foreground));flex:1}.active-effects-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 .375rem;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .2),hsl(var(--cute-orange) / .1));border:1px solid hsl(var(--cute-yellow) / .3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:hsl(var(--cute-yellow))}.active-effects-totals{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem;background:hsl(var(--surface-3) / .5);border-radius:calc(var(--radius) - 2px)}.active-effects-totals-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.active-effects-totals-list{display:flex;flex-wrap:wrap;gap:.375rem}.active-effects-total-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .5rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px)}.active-effects-total-stat{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase}.active-effects-total-value{font-size:.75rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.active-effects-total-value.positive{color:hsl(var(--cute-teal))}.active-effects-total-value.negative{color:hsl(var(--destructive))}.active-effects-groups{display:flex;flex-direction:column;gap:.625rem}.active-effects-type-group{display:flex;flex-direction:column;gap:.375rem}.active-effects-type-header{display:flex;align-items:center;gap:.375rem}.active-effects-type-icon{flex-shrink:0}.active-effects-type-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.active-effects-type-items{display:flex;flex-wrap:wrap;gap:.25rem;padding-left:.5rem}.inline-effect-indicators{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin-left:.375rem}.inline-effect-indicator{display:inline-flex;align-items:center;padding:.125rem .375rem;background:color-mix(in srgb,var(--effect-color) 12%,transparent);border-radius:calc(var(--radius) - 4px);font-size:.625rem;font-weight:600;color:var(--effect-color);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;cursor:help;transition:background-color var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform}.inline-effect-indicator:hover{background:color-mix(in srgb,var(--effect-color) 20%,transparent)}@media (max-width: 480px){.effect-badge{padding:.1875rem .375rem;font-size:.6875rem}.effect-badge-source{display:none}.active-effects-summary{padding:.5rem}.active-effects-totals{flex-direction:column;align-items:flex-start}}.detail-row{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out-cubic);margin-top:.5rem}.detail-row-visible{grid-template-rows:1fr}.detail-row>*{overflow:hidden}.detail-row-visible>*{overflow:visible}.detail-row-inner{min-height:0;background:hsl(var(--card) / .6);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-md);padding:0;transition:padding var(--duration-normal) var(--ease-out-cubic)}.detail-row-visible .detail-row-inner{padding:1rem}@media (min-width: 768px){.detail-row-visible .detail-row-inner{padding:1.125rem}}.detail-row-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.detail-row-header-left{display:flex;align-items:flex-start;gap:.625rem;flex:1;min-width:0}.detail-row-icon{flex-shrink:0;color:hsl(var(--primary));margin-top:.125rem}.detail-row-title-group{display:flex;flex-direction:column;gap:.125rem;min-width:0}.detail-row-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0;line-height:1.3}.detail-row-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:400}.detail-row-tag{flex-shrink:0;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:hsl(var(--background));background:hsl(var(--primary));padding:.1875rem .5rem;border-radius:var(--radius-sm);line-height:1.4}.detail-row-description{font-size:.875rem;line-height:1.6;color:hsl(var(--foreground) / .9);margin:0 0 .75rem}.detail-row-description:last-child{margin-bottom:0}.detail-row-properties{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem}.detail-row-properties:last-child{margin-bottom:0}.detail-row-property{display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.detail-row-property-icon{flex-shrink:0;color:hsl(var(--muted-foreground))}.detail-row-property-label{color:hsl(var(--muted-foreground));font-weight:500}.detail-row-property-value{color:hsl(var(--foreground));font-weight:600}.detail-row-effects{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem}.detail-row-effects:last-child{margin-bottom:0}.detail-row-effects-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.detail-row-content{margin-top:.5rem}.detail-row-content:first-child{margin-top:0}@media (max-width: 480px){.detail-row-header{flex-direction:column;gap:.5rem}.detail-row-tag{align-self:flex-start}.detail-row-properties{flex-direction:column;gap:.375rem}}.detail-row,.detail-row-inner,.detail-row-icon,.detail-row-tag{will-change:transform;transform:var(--gpu-accel)}.equipment-browser{display:flex;flex-direction:column;gap:.75rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.75rem}@media (min-width: 768px){.equipment-browser{padding:1rem}}.equipment-browser-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.equipment-browser-header-left{display:flex;align-items:center;gap:.5rem}.equipment-browser-category-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.equipment-browser-category-label{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.equipment-browser-category-label{font-size:.875rem}}.equipment-browser-count{font-size:.75rem;color:hsl(var(--muted-foreground))}.equipment-browser-selected-count{color:hsl(var(--primary));font-weight:500}.equipment-browser-search{position:relative;display:flex;align-items:center}.equipment-browser-search-icon{position:absolute;left:.625rem;color:hsl(var(--muted-foreground));pointer-events:none}.equipment-browser-search-input{width:100%;padding:.5rem 2rem;background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:var(--radius);font-size:.8125rem;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.equipment-browser-search-input::-moz-placeholder{color:hsl(var(--muted-foreground))}.equipment-browser-search-input::placeholder{color:hsl(var(--muted-foreground))}.equipment-browser-search-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.equipment-browser-search-input:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;box-shadow:none}.equipment-browser-search-clear{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background-color:transparent;border:none;border-radius:var(--radius);color:hsl(var(--muted-foreground));cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic),color var(--duration-fast) var(--ease-out-cubic)}.equipment-browser-search-clear:hover{background-color:hsl(var(--surface-3));color:hsl(var(--foreground))}.equipment-browser-search-clear:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.equipment-browser-list{display:flex;flex-direction:column;gap:.375rem;overflow-y:auto;padding-right:.25rem}.equipment-browser-list::-webkit-scrollbar{width:6px}.equipment-browser-list::-webkit-scrollbar-track{background:hsl(var(--surface-2));border-radius:3px}.equipment-browser-list::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}.equipment-browser-list::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}.equipment-browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:hsl(var(--muted-foreground))}.equipment-browser-empty-icon{opacity:.5}.equipment-browser-empty-text{font-size:.8125rem;text-align:center}.equipment-browser-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .625rem;border:1px solid;border-radius:var(--radius);transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform}.equipment-browser-item:hover{transform:translate(2px) var(--gpu-accel);box-shadow:0 2px 4px hsl(var(--foreground) / .05)}.equipment-browser-item-selected{box-shadow:inset 0 0 0 1px var(--rarity-color, hsl(var(--primary)))}.equipment-browser-item-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.equipment-browser-item-name{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.equipment-browser-item-name{font-size:.875rem}}.equipment-browser-item-details{display:flex;flex-wrap:wrap;gap:.375rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.equipment-browser-item-details{font-size:.75rem}}.equipment-browser-item-rarity{text-transform:capitalize}.equipment-browser-item-damage,.equipment-browser-item-ac,.equipment-browser-item-weight{padding:.125rem .375rem;background-color:hsl(var(--surface-3));border-radius:calc(var(--radius) / 2)}.equipment-browser-item-button{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--radius);cursor:pointer;flex-shrink:0;transition:background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform}.equipment-browser-item-button-add{background-color:hsl(var(--primary) / .1);color:hsl(var(--primary))}.equipment-browser-item-button-add:hover{background-color:hsl(var(--primary) / .2);transform:scale(1.1) var(--gpu-accel)}.equipment-browser-item-button-remove{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.equipment-browser-item-button-remove:hover{background-color:hsl(var(--destructive) / .2);transform:scale(1.1) var(--gpu-accel)}.equipment-browser-item-button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (max-width: 480px){.equipment-browser{padding:.625rem}.equipment-browser-item{padding:.375rem .5rem}.equipment-browser-item-button{width:1.5rem;height:1.5rem}.equipment-browser-item-details{font-size:.625rem}}.party-overview-panel{display:flex;flex-direction:column;gap:1.25rem}.party-overview-panel-empty{padding:1.5rem}.party-overview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.party-overview-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.party-overview-empty-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .375rem}.party-overview-empty-text{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:280px}.party-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}@media (min-width: 640px){.party-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (min-width: 769px) and (max-width: 1023px){.party-stats-grid{grid-template-columns:repeat(3,1fr)}.party-stat-card{padding:.8125rem .9375rem;gap:.6875rem}.party-stat-card-icon{width:1.875rem;height:1.875rem}.party-stat-card-label{font-size:.6563rem}.party-stat-card-value{font-size:1.1875rem}.party-stat-card-subtitle{font-size:.6563rem}.party-xp-section{padding-top:.875rem}.party-xp-section-title{font-size:.8438rem;margin-bottom:.8125rem}.party-xp-section-subtitle{font-size:.7188rem}.party-xp-grid{grid-template-columns:repeat(4,1fr);gap:.5625rem}.party-xp-card{padding:.6875rem .4375rem}.party-xp-card-difficulty{font-size:.6563rem}.party-xp-card-value{font-size:.8438rem}.party-overview-empty{padding:1.75rem .875rem}.party-overview-empty-icon{font-size:2.25rem;margin-bottom:.6875rem}.party-overview-empty-title{font-size:.9688rem}.party-overview-empty-text{font-size:.8438rem;max-width:260px}}@media (min-width: 1024px){.party-overview-panel{gap:1.375rem}.party-stats-grid{grid-template-columns:repeat(5,1fr);gap:.875rem}.party-stat-card{padding:1rem 1.125rem;gap:.875rem}.party-stat-card-icon{width:2.125rem;height:2.125rem}.party-stat-card-label{font-size:.75rem;gap:.4375rem}.party-stat-card-value{font-size:1.3125rem}.party-stat-card-subtitle{font-size:.75rem}.party-xp-section{padding-top:1.125rem}.party-xp-section-title{font-size:.9375rem;margin-bottom:1rem}.party-xp-section-subtitle{font-size:.8125rem}.party-xp-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}.party-xp-card{padding:.875rem .625rem}.party-xp-card-difficulty{font-size:.75rem}.party-xp-card-value{font-size:.9375rem}.party-overview-empty{padding:2.25rem 1.25rem}.party-overview-empty-icon{font-size:2.75rem;margin-bottom:.875rem}.party-overview-empty-title{font-size:1.0625rem}.party-overview-empty-text{font-size:.9375rem;max-width:300px}}.party-stat-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.party-stat-card:hover{border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.party-stat-card-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-sm);color:var(--color-on-primary);flex-shrink:0}.party-stat-card-content{flex:1;min-width:0}.party-stat-card-label{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.party-stat-card-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.party-stat-card-subtitle{font-size:.6875rem;color:var(--color-text-secondary);margin-top:.125rem}.party-xp-section{padding-top:1rem;border-top:1px solid var(--color-border)}.party-xp-section-title{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .875rem}.party-xp-section-subtitle{font-size:.75rem;font-weight:400;color:var(--color-text-secondary);margin-left:auto}.party-xp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}@media (min-width: 640px){.party-xp-grid{grid-template-columns:repeat(4,1fr)}}.party-xp-card{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);transition:transform .2s ease,box-shadow .2s ease}.party-xp-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.party-xp-card-difficulty{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.party-xp-card-value{font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.party-xp-card-easy{background:linear-gradient(135deg,#16a24926,#16a2490d);border-color:#16a24966}.party-xp-card-easy .party-xp-card-difficulty{color:#16a249}.party-xp-card-easy:hover{background:linear-gradient(135deg,#16a24933,#16a2491a);border-color:#16a24980}.party-xp-card-medium{background:linear-gradient(135deg,#e7b00826,#e7b0080d);border-color:#e7b00866}.party-xp-card-medium .party-xp-card-difficulty{color:#e7b008}.party-xp-card-medium:hover{background:linear-gradient(135deg,#e7b00833,#e7b0081a);border-color:#e7b00880}.party-xp-card-hard{background:linear-gradient(135deg,#f9741526,#f974150d);border-color:#f9741566}.party-xp-card-hard .party-xp-card-difficulty{color:#f97415}.party-xp-card-hard:hover{background:linear-gradient(135deg,#f9741533,#f974151a);border-color:#f9741580}.party-xp-card-deadly{background:linear-gradient(135deg,#dc282826,#dc28280d);border-color:#dc282866}.party-xp-card-deadly .party-xp-card-difficulty{color:#dc2828}.party-xp-card-deadly:hover{background:linear-gradient(135deg,#dc282833,#dc28281a);border-color:#dc282880}@media (max-width: 480px){.party-stats-grid{grid-template-columns:repeat(2,1fr)}.party-stat-card{padding:.75rem}.party-stat-card-value{font-size:1.125rem}}@media (max-width: 400px){.party-overview-panel{gap:1rem}.party-overview-panel-empty{padding:1rem}.party-overview-empty{padding:1.5rem .75rem}.party-overview-empty-icon{font-size:2rem;margin-bottom:.5rem}.party-overview-empty-title{font-size:.9375rem}.party-overview-empty-text{font-size:.8125rem;max-width:220px}.party-stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.party-stat-card{padding:.625rem .75rem;gap:.5rem}.party-stat-card-icon{width:1.75rem;height:1.75rem}.party-stat-card-label{font-size:.625rem;gap:.25rem}.party-stat-card-value{font-size:1rem}.party-stat-card-subtitle{font-size:.625rem}.party-xp-section{padding-top:.75rem}.party-xp-section-title{font-size:.8125rem;gap:.375rem}.party-xp-section-subtitle{font-size:.6875rem;width:100%;margin-left:0;margin-top:.25rem}.party-xp-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.party-xp-card{padding:.625rem .375rem}.party-xp-card-difficulty{font-size:.625rem}.party-xp-card-value{font-size:.8125rem}}.party-stat-card-skeleton{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md)}.party-stat-card-skeleton-icon{width:2rem;height:2rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;flex-shrink:0}.party-stat-card-skeleton-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.party-stat-card-skeleton-label{width:60%;height:.6875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.party-stat-card-skeleton-value{width:40%;height:1.25rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.party-stat-card-skeleton-subtitle{width:50%;height:.6875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.party-xp-section-skeleton{padding-top:1rem;border-top:1px solid var(--color-border)}.party-xp-section-skeleton-title{width:40%;height:.875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;margin-bottom:.875rem}.party-xp-card-skeleton{display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-dim)}.party-xp-card-skeleton-difficulty{width:50%;height:.6875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;margin-bottom:.25rem}.party-xp-card-skeleton-value{width:70%;height:.875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.party-overview-panel-loading{display:flex;flex-direction:column;gap:1.25rem}.party-stat-card{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease,opacity .3s ease}.party-overview-panel[data-updating=true] .party-stat-card{opacity:.7}.party-xp-card{transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease}.party-overview-panel[data-updating=true] .party-xp-card{opacity:.7}@keyframes party-panel-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.party-overview-panel-loaded .party-stat-card{animation:party-panel-fade-in .3s ease forwards}.party-overview-panel-loaded .party-stat-card:nth-child(1){animation-delay:0ms}.party-overview-panel-loaded .party-stat-card:nth-child(2){animation-delay:50ms}.party-overview-panel-loaded .party-stat-card:nth-child(3){animation-delay:.1s}.party-overview-panel-loaded .party-stat-card:nth-child(4){animation-delay:.15s}.party-overview-panel-loaded .party-stat-card:nth-child(5){animation-delay:.2s}.party-overview-panel-loaded .party-xp-card{animation:party-panel-fade-in .3s ease forwards}.party-overview-panel-loaded .party-xp-card:nth-child(1){animation-delay:.25s}.party-overview-panel-loaded .party-xp-card:nth-child(2){animation-delay:.3s}.party-overview-panel-loaded .party-xp-card:nth-child(3){animation-delay:.35s}.party-overview-panel-loaded .party-xp-card:nth-child(4){animation-delay:.4s}.party-composition-panel{display:flex;flex-direction:column;gap:1.25rem}.party-composition-panel-empty{padding:1.5rem}.composition-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.composition-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.5}.composition-empty-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .375rem}.composition-empty-text{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:280px}.composition-section{padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.composition-section:last-child{padding-bottom:0;border-bottom:none}.composition-section-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .875rem}.class-distribution-bars{display:flex;flex-direction:column;gap:.625rem}.class-bar-container{display:flex;flex-direction:column;gap:.25rem}.class-bar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.class-bar-name{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--color-text-primary)}.class-icon{font-size:1rem;line-height:1}.class-bar-count{font-size:.75rem;color:var(--color-text-secondary)}.class-bar-track{height:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);overflow:hidden}.class-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .4s ease}.role-distribution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:.75rem}@media (min-width: 640px){.role-distribution-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 769px) and (max-width: 1023px){.party-composition-panel{gap:1.125rem}.composition-section{padding-bottom:.875rem}.composition-section-title{font-size:.8438rem;margin-bottom:.8125rem}.class-distribution-bars{gap:.5625rem}.class-bar-name{font-size:.7813rem}.class-icon{font-size:.9688rem}.class-bar-count{font-size:.7188rem}.class-bar-track{height:.4375rem}.role-distribution-grid{gap:.5625rem;margin-bottom:.6875rem}.role-card{padding:.6875rem;gap:.5625rem}.role-card-icon{width:1.875rem;height:1.875rem}.role-card-name{font-size:.7188rem}.role-card-count{font-size:.6563rem}.role-card-percentage{font-size:.7188rem}.role-balance-indicator{padding:.4375rem .6875rem;font-size:.7188rem;gap:.4375rem}.quick-stats-grid{gap:.5625rem}.quick-stat-item{padding:.5625rem .6875rem;gap:.4375rem}.quick-stat-icon{width:1.375rem;height:1.375rem}.quick-stat-value{font-size:.8438rem}.quick-stat-label{font-size:.5938rem}.composition-empty{padding:1.75rem .875rem}.composition-empty-icon{font-size:2.25rem;margin-bottom:.6875rem}.composition-empty-title{font-size:.9688rem}.composition-empty-text{font-size:.8438rem;max-width:260px}}@media (min-width: 1024px){.party-composition-panel{gap:1.375rem}.composition-section{padding-bottom:1.125rem}.composition-section-title{font-size:.9375rem;margin-bottom:1rem}.class-distribution-bars{gap:.75rem}.class-bar-name{font-size:.875rem}.class-icon{font-size:1.0625rem}.class-bar-count{font-size:.8125rem}.class-bar-track{height:.5625rem}.role-distribution-grid{gap:.75rem;margin-bottom:.875rem}.role-card{padding:.875rem;gap:.75rem}.role-card-icon{width:2.125rem;height:2.125rem}.role-card-name{font-size:.8125rem}.role-card-count{font-size:.75rem}.role-card-percentage{font-size:.8125rem}.role-balance-indicator{padding:.5625rem .875rem;font-size:.8125rem;gap:.5rem}.quick-stats-grid{grid-template-columns:repeat(5,1fr);gap:.75rem}.quick-stat-item{padding:.75rem .875rem;gap:.5625rem}.quick-stat-icon{width:1.625rem;height:1.625rem}.quick-stat-value{font-size:.9375rem}.quick-stat-label{font-size:.6875rem}.composition-empty{padding:2rem 1.25rem}.composition-empty-icon{font-size:2.75rem;margin-bottom:.875rem}.composition-empty-title{font-size:1.0625rem}.composition-empty-text{font-size:.9375rem;max-width:300px}}.role-card{display:flex;align-items:center;gap:.625rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);transition:transform .2s ease,box-shadow .2s ease}.role-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.role-card-icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);flex-shrink:0}.role-card-content{flex:1;min-width:0}.role-card-name{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.role-card-count{font-size:.6875rem;color:var(--color-text-secondary)}.role-card-percentage{font-size:.75rem;font-weight:700;margin-top:.125rem}.role-card-tank{background:linear-gradient(135deg,#2273c31a,#2273c30d);border-color:#2273c34d}.role-card-tank .role-card-icon{background:linear-gradient(135deg,#2273c3,#1b5998);color:#fff}.role-card-tank .role-card-percentage{color:#2273c3}.role-card-dps{background:linear-gradient(135deg,#c322221a,#c322220d);border-color:#c322224d}.role-card-dps .role-card-icon{background:linear-gradient(135deg,#c32222,#981b1b);color:#fff}.role-card-dps .role-card-percentage{color:#c32222}.role-card-caster{background:linear-gradient(135deg,#9933cc1a,#9933cc0d);border-color:#9933cc4d}.role-card-caster .role-card-icon{background:linear-gradient(135deg,#93c,#7a29a3);color:#fff}.role-card-caster .role-card-percentage{color:#93c}.role-card-support{background:linear-gradient(135deg,#1fad531a,#1fad530d);border-color:#1fad534d}.role-card-support .role-card-icon{background:linear-gradient(135deg,#1fad53,#17823e);color:#fff}.role-card-support .role-card-percentage{color:#1fad53}.role-balance-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.role-balance-indicator.balanced{background:linear-gradient(135deg,#1fad531a,#1fad530d);color:#1b9849;border:1px solid hsl(142 70% 40% / .3)}.role-balance-indicator.unbalanced{background:linear-gradient(135deg,#daa60b1a,#daa60b0d);color:#aa8109;border:1px solid hsl(45 90% 45% / .3)}.balance-icon.balanced{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;background:#1fad53;color:#fff;border-radius:50%;font-size:.625rem;font-weight:700}.balance-icon.unbalanced{font-size:.875rem}.quick-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}@media (min-width: 480px){.quick-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 640px){.quick-stats-grid{grid-template-columns:repeat(5,1fr)}}.quick-stat-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:transform .2s ease,border-color .2s ease}.quick-stat-item:hover{transform:translateY(-1px);border-color:var(--color-primary)}.quick-stat-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);flex-shrink:0}.quick-stat-content{flex:1;min-width:0}.quick-stat-value{font-size:.875rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.quick-stat-label{font-size:.625rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-stat-hp .quick-stat-icon{background:linear-gradient(135deg,#d92626,#ad1f1f);color:#fff}.quick-stat-ac-high .quick-stat-icon{background:linear-gradient(135deg,#1fad53,#17823e);color:#fff}.quick-stat-ac-low .quick-stat-icon{background:linear-gradient(135deg,#daa60b,#aa8109);color:#fff}.quick-stat-caster .quick-stat-icon{background:linear-gradient(135deg,#93c,#7a29a3);color:#fff}.quick-stat-speed .quick-stat-icon{background:linear-gradient(135deg,#229bc3,#1b7898);color:#fff}@media (max-width: 480px){.composition-section-title{font-size:.8125rem}.class-bar-name{font-size:.75rem}.role-card{padding:.625rem}.role-card-name{font-size:.6875rem}.role-card-count{font-size:.625rem}.quick-stat-value{font-size:.75rem}.quick-stat-label{font-size:.5625rem}}@media (max-width: 400px){.party-composition-panel{gap:1rem}.party-composition-panel-empty{padding:1rem}.composition-empty{padding:1.5rem .75rem}.composition-empty-icon{font-size:2rem;margin-bottom:.5rem}.composition-empty-title{font-size:.9375rem}.composition-empty-text{font-size:.8125rem;max-width:220px}.composition-section{padding-bottom:.75rem}.composition-section-title{font-size:.75rem;margin-bottom:.75rem}.class-distribution-bars{gap:.5rem}.class-bar-name{font-size:.6875rem}.class-icon{font-size:.875rem}.class-bar-count{font-size:.6875rem}.class-bar-track{height:.375rem}.role-distribution-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.5rem}.role-card{padding:.5rem;gap:.5rem}.role-card-icon{width:1.75rem;height:1.75rem}.role-card-name{font-size:.625rem}.role-card-count{font-size:.5625rem}.role-card-percentage{font-size:.6875rem}.role-balance-indicator{padding:.375rem .5rem;font-size:.6875rem;gap:.375rem}.balance-icon.balanced{width:.875rem;height:.875rem;font-size:.5625rem}.balance-icon.unbalanced{font-size:.75rem}.quick-stats-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.quick-stat-item{padding:.5rem .625rem;gap:.375rem}.quick-stat-icon{width:1.25rem;height:1.25rem}.quick-stat-value{font-size:.6875rem}.quick-stat-label{font-size:.5rem}}.party-composition-panel-loading{display:flex;flex-direction:column;gap:1.25rem}.composition-section-skeleton{padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.composition-section-skeleton-title{width:35%;height:.875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite;margin-bottom:.875rem}.class-distribution-skeleton{display:flex;flex-direction:column;gap:.625rem}.class-bar-skeleton{display:flex;flex-direction:column;gap:.25rem}.class-bar-skeleton-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.class-bar-skeleton-name{width:30%;height:.8125rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.class-bar-skeleton-count{width:15%;height:.75rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.class-bar-skeleton-track{height:.5rem;width:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.role-distribution-skeleton{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:.75rem}@media (min-width: 640px){.role-distribution-skeleton{grid-template-columns:repeat(4,1fr)}}.role-card-skeleton{display:flex;align-items:center;gap:.625rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-dim)}.role-card-skeleton-icon{width:2rem;height:2rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite;flex-shrink:0}.role-card-skeleton-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.role-card-skeleton-name{width:50%;height:.75rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.role-card-skeleton-count{width:70%;height:.6875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.role-balance-skeleton{width:50%;height:2rem;margin:0 auto;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.quick-stats-skeleton{display:grid;grid-template-columns:repeat(2,1fr);gap:.625rem}@media (min-width: 480px){.quick-stats-skeleton{grid-template-columns:repeat(3,1fr)}}@media (min-width: 640px){.quick-stats-skeleton{grid-template-columns:repeat(5,1fr)}}.quick-stat-skeleton{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md)}.quick-stat-skeleton-icon{width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite;flex-shrink:0}.quick-stat-skeleton-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.quick-stat-skeleton-value{width:60%;height:.875rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}.quick-stat-skeleton-label{width:80%;height:.625rem;border-radius:.125rem;background:linear-gradient(90deg,var(--color-surface-dim) 0%,var(--color-surface-3) 50%,var(--color-surface-dim) 100%);background-size:200% 100%;animation:skeleton-shimmer-composition 1.5s infinite}@keyframes skeleton-shimmer-composition{0%{background-position:200% 0}to{background-position:-200% 0}}.party-composition-panel[data-updating=true] .class-bar-fill{transition:width .4s ease}.party-composition-panel[data-updating=true] .role-card,.party-composition-panel[data-updating=true] .quick-stat-item{opacity:.7;transition:opacity .3s ease}@keyframes composition-panel-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.party-composition-panel-loaded .composition-section{animation:composition-panel-fade-in .3s ease forwards}.party-composition-panel-loaded .composition-section:nth-child(1){animation-delay:0ms}.party-composition-panel-loaded .composition-section:nth-child(2){animation-delay:.1s}.party-composition-panel-loaded .composition-section:nth-child(3){animation-delay:.2s}.party-tab{display:flex;flex-direction:column;gap:1.5rem;width:100%;--rarity-common: hsl(0 0% 50%);--rarity-common-bg: hsl(0 0% 50% / .08);--rarity-common-border: hsl(0 0% 50% / .25);--rarity-uncommon: hsl(120 60% 40%);--rarity-uncommon-bg: hsl(120 60% 40% / .08);--rarity-uncommon-border: hsl(120 60% 40% / .3);--rarity-rare: hsl(210 80% 50%);--rarity-rare-bg: hsl(210 80% 50% / .08);--rarity-rare-border: hsl(210 80% 50% / .3);--rarity-very-rare: hsl(270 60% 50%);--rarity-very-rare-bg: hsl(270 60% 50% / .08);--rarity-very-rare-border: hsl(270 60% 50% / .3);--rarity-legendary: hsl(30 90% 50%);--rarity-legendary-bg: hsl(30 90% 50% / .12);--rarity-legendary-border: hsl(30 90% 50% / .4);--spell-level-0-bg: hsl(var(--cute-teal) / .15);--spell-level-0-border: hsl(var(--cute-teal) / .4);--spell-level-0-text: hsl(var(--cute-teal));--spell-level-1-bg: hsl(var(--cute-purple) / .1);--spell-level-1-border: hsl(var(--cute-purple) / .3);--spell-level-1-text: hsl(var(--cute-purple));--spell-level-2-bg: hsl(var(--cute-purple) / .12);--spell-level-2-border: hsl(var(--cute-purple) / .35);--spell-level-2-text: hsl(var(--cute-purple));--spell-level-3-bg: hsl(var(--cute-purple) / .15);--spell-level-3-border: hsl(var(--cute-purple) / .4);--spell-level-3-text: hsl(var(--cute-purple));--spell-level-4-bg: hsl(var(--cute-purple) / .18);--spell-level-4-border: hsl(var(--cute-purple) / .45);--spell-level-4-text: hsl(var(--cute-purple));--spell-level-5-bg: hsl(var(--cute-purple) / .2);--spell-level-5-border: hsl(var(--cute-purple) / .5);--spell-level-5-text: hsl(var(--cute-purple));--spell-level-6-bg: hsl(var(--cute-purple) / .22);--spell-level-6-border: hsl(var(--cute-purple) / .55);--spell-level-6-text: hsl(var(--cute-purple));--spell-level-7-bg: hsl(var(--cute-purple) / .25);--spell-level-7-border: hsl(var(--cute-purple) / .6);--spell-level-7-text: hsl(var(--cute-purple));--spell-level-8-bg: hsl(var(--cute-purple) / .28);--spell-level-8-border: hsl(var(--cute-purple) / .65);--spell-level-8-text: hsl(var(--cute-purple));--spell-level-9-bg: hsl(var(--cute-purple) / .3);--spell-level-9-border: hsl(var(--cute-purple) / .7);--spell-level-9-text: hsl(var(--cute-purple))}.party-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem}.party-header-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);color:var(--color-on-primary)}.party-header-text{flex:1}.party-header-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.party-header-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-secondary)}.party-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.party-search{flex:1;min-width:200px}.party-sort{min-width:150px;position:relative;flex-shrink:0}.party-sort-dropdown-btn{width:100%;min-width:150px;height:2.5rem;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;transform:var(--gpu-accel)}.party-sort-dropdown-btn:hover{border-color:var(--color-primary);background:var(--color-surface-dim)}.party-sort-dropdown-btn:active{transform:scale(.98) var(--gpu-accel)}.party-sort-dropdown-btn:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.party-sort-label{flex:1;text-align:left}.party-sort-chevron{flex-shrink:0;transition:transform .2s ease;transform:var(--gpu-accel)}.party-sort-chevron-open{transform:rotate(180deg) var(--gpu-accel)}.party-sort-dropdown-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden;animation:partySortDropdownFadeIn .2s ease}@keyframes partySortDropdownFadeIn{0%{opacity:0;transform:translateY(-8px) var(--gpu-accel)}to{opacity:1;transform:translateY(0) var(--gpu-accel)}}.party-sort-dropdown-item{width:100%;padding:.625rem 1rem;background:transparent;color:var(--color-text-primary);border:none;text-align:left;font-size:.875rem;cursor:pointer;transition:all .15s ease;transform:var(--gpu-accel)}.party-sort-dropdown-item:hover{background:var(--color-surface-dim)}.party-sort-dropdown-item-active{background:var(--color-primary);color:var(--color-primary-foreground);font-weight:500}.party-sort-dropdown-item-active:hover{background:var(--color-primary);opacity:.9}.party-sort-dropdown-item:active{transform:scale(.98) var(--gpu-accel)}.party-sort-dropdown-item:focus-visible{outline:none;background:var(--color-surface-dim);box-shadow:inset 0 0 0 2px var(--color-primary)}.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}@media (max-width: 768px){.party-grid{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.party-grid{grid-template-columns:repeat(2,1fr)}.party-header{gap:.875rem}.party-header-icon{width:2.375rem;height:2.375rem}.party-header-title{font-size:1.1875rem}.party-header-subtitle{font-size:.8438rem}.party-controls{gap:.875rem}.party-search{min-width:180px}.party-sort{min-width:140px}.party-selection-controls{padding:.6875rem .875rem;gap:.875rem}.party-selection-count{font-size:.8438rem}.party-analysis-section{gap:.875rem}.party-empty-state{padding:3.5rem 1.75rem}.party-empty-icon{font-size:3.5rem}.party-empty-title{font-size:1.1875rem}.party-empty-description{font-size:.875rem;max-width:380px}.party-no-results{padding:2.5rem 1.75rem}.party-no-results-icon{font-size:2.75rem}.party-no-results-title{font-size:1.0625rem}.party-no-results-text{font-size:.875rem}.party-card{padding:.875rem .875rem 2.375rem}.party-card-avatar{font-size:1.875rem}.party-card-name{font-size:.9688rem}.party-card-subtitle{font-size:.7188rem}.party-card-level{padding:.0938rem .4375rem;font-size:.5938rem}.party-card-selection-checkbox{width:1.5rem;height:1.5rem}.party-card-game-mode-badge{padding:.2188rem .4375rem;font-size:.5938rem}.party-detail-content{max-width:700px;max-height:88vh}.party-detail-header{padding:1.25rem 1.5rem}.party-detail-avatar{font-size:2.25rem}.party-detail-info h2{font-size:1.1875rem}.party-detail-info p{font-size:.8438rem}.party-detail-body{padding:.875rem;gap:.875rem}.party-detail-section{padding:1.125rem}.party-detail-section-title{font-size:.9688rem;margin-bottom:.875rem;padding-bottom:.6875rem}.party-detail-stats-grid{gap:.875rem}.party-detail-stat-item{padding:.6875rem}.party-detail-stat-label{font-size:.7188rem}.party-detail-stat-value{font-size:.9688rem}.party-detail-abilities-grid{gap:.625rem}.party-detail-ability-item{padding:.6875rem}.party-detail-ability-name{font-size:.5938rem}.party-detail-ability-score{font-size:1.1875rem}.party-detail-ability-modifier{font-size:.7188rem}.party-detail-skills-list{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:.4375rem}.party-detail-skill-item{padding:.4375rem .6875rem;font-size:.7188rem}.party-detail-equipment-weight{padding:.5625rem}.party-detail-equipment-weight-label{font-size:.7813rem}.party-detail-spells-group-title{font-size:.7188rem}.party-detail-spell-tag{padding:.2188rem .4375rem;font-size:.7188rem}.party-detail-xp-section{padding:.875rem}.party-detail-xp-label,.party-detail-xp-values{font-size:.8438rem}.party-detail-xp-bar{height:.6875rem}.party-detail-xp-hint{font-size:.7188rem}.party-detail-saving-throws-grid{grid-template-columns:repeat(6,1fr);gap:.4375rem}.party-detail-saving-throw-item{padding:.4375rem .5625rem}.party-detail-saving-throw-ability{font-size:.7813rem}.party-detail-traits-grid{gap:.4375rem}.party-detail-trait-badge{padding:.3438rem .5625rem;font-size:.7188rem}.party-detail-appearance-section{gap:.5625rem}.party-detail-appearance-row{gap:.6875rem}.party-detail-appearance-label{font-size:.8438rem;min-width:5.5rem}.party-detail-appearance-value{font-size:.9375rem}.party-detail-appearance-color-swatch{width:1.375rem;height:1.375rem}.party-detail-appearance-color-label{font-size:.7188rem}}@media (min-width: 1025px){.party-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.125rem}.party-header{gap:1rem}.party-header-icon{width:2.625rem;height:2.625rem}.party-header-title{font-size:1.3125rem}.party-header-subtitle{font-size:.9375rem}.party-controls{gap:1.125rem}.party-search{min-width:280px}.party-sort{min-width:160px}.party-sort-dropdown-btn{min-width:160px;height:2.625rem}.party-selection-controls{padding:.875rem 1.125rem;gap:1.125rem}.party-selection-count{font-size:.9375rem}.party-analysis-section{gap:1.125rem}.party-empty-state{padding:4.5rem 2.5rem}.party-empty-icon{font-size:4.5rem}.party-empty-title{font-size:1.3125rem}.party-empty-description{font-size:.9375rem;max-width:450px}.party-no-results{padding:3.5rem 2rem}.party-no-results-icon{font-size:3.25rem}.party-no-results-title{font-size:1.1875rem}.party-no-results-text{font-size:.9375rem}.party-card{padding:1.125rem 1.125rem 2.75rem}.party-card-avatar{font-size:2.125rem}.party-card-name{font-size:1.0625rem}.party-card-subtitle{font-size:.8125rem}.party-card-level{padding:.1563rem .5625rem;font-size:.6875rem}.party-card-selection-checkbox{width:1.5rem;height:1.5rem}.party-card-game-mode-badge{padding:.2813rem .5625rem;font-size:.6875rem}.party-detail-content{max-width:850px;max-height:92vh}.party-detail-header{padding:1.625rem 1.75rem}.party-detail-avatar{font-size:2.625rem}.party-detail-info h2{font-size:1.3125rem}.party-detail-info p{font-size:.9375rem}.party-detail-body{padding:1.125rem;gap:1.125rem}.party-detail-section{padding:1.375rem}.party-detail-section-title{font-size:1.0625rem;margin-bottom:1.125rem;padding-bottom:.875rem}.party-detail-stats-grid{gap:1.125rem}.party-detail-stat-item{padding:.875rem}.party-detail-stat-label{font-size:.8125rem}.party-detail-stat-value{font-size:1.0625rem}.party-detail-abilities-grid{gap:.75rem}.party-detail-ability-item{padding:.875rem}.party-detail-ability-name{font-size:.6875rem}.party-detail-ability-score{font-size:1.3125rem}.party-detail-ability-modifier{font-size:.8125rem}.party-detail-skills-list{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5625rem}.party-detail-skill-item{padding:.5625rem .875rem;font-size:.8125rem}.party-detail-equipment-weight{padding:.75rem}.party-detail-equipment-weight-label{font-size:.875rem}.party-detail-spells-group-title{font-size:.8125rem}.party-detail-spell-tag{padding:.2813rem .5625rem;font-size:.8125rem}.party-detail-xp-section{padding:1.125rem}.party-detail-xp-label,.party-detail-xp-values{font-size:.9375rem}.party-detail-xp-bar{height:.8125rem}.party-detail-xp-hint{font-size:.8125rem}.party-detail-saving-throws-grid{grid-template-columns:repeat(6,1fr);gap:.5625rem}.party-detail-saving-throw-item{padding:.5625rem .75rem}.party-detail-saving-throw-ability{font-size:.875rem}.party-detail-traits-grid{gap:.5625rem}.party-detail-trait-badge{padding:.4375rem .75rem;font-size:.8125rem}.party-detail-appearance-section{gap:.75rem}.party-detail-appearance-row{gap:1rem}.party-detail-appearance-label{font-size:.9375rem;min-width:6.5rem}.party-detail-appearance-value{font-size:1rem}.party-detail-appearance-color-swatch{width:1.625rem;height:1.625rem}.party-detail-appearance-color-label{font-size:.8125rem}}.party-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.party-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.party-empty-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.party-empty-description{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:400px}.party-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1rem 2.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem;position:relative}.party-card-loading{opacity:.6;pointer-events:none}.party-card-loading .party-card-set-active-btn{cursor:wait}.party-card-active{border-color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) calc(var(--color-primary-l) + 45));box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .2)}.party-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.party-card:active{transform:translateY(0)}.party-card-header{display:flex;align-items:center;gap:.75rem;padding-top:1.5rem}.party-card-avatar{font-size:2rem;line-height:1;flex-shrink:0}.party-card-info{flex:1;min-width:0}.party-card-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-card-subtitle{font-size:.75rem;color:var(--color-text-secondary);margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.party-card-level{display:inline-flex;align-items:center;padding:.125rem .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-sm);color:var(--color-on-primary);font-size:.625rem;font-weight:600;text-transform:uppercase}.party-card-xp-section{display:flex;flex-direction:column;gap:.25rem}.party-xp-bar{height:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);overflow:hidden}.party-xp-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);transition:width .3s ease;border-radius:var(--radius-sm)}.party-xp-label{font-size:.75rem;color:var(--color-text-secondary);margin:0;display:flex;justify-content:space-between}.party-xp-current{font-weight:500;color:var(--color-primary)}.party-card-set-active-btn-wrapper{position:absolute;bottom:.5rem;left:0;right:0;display:flex;justify-content:center;align-items:center;z-index:2}.party-card-set-active-btn{padding:.5rem .75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;text-align:center}.party-card-set-active-btn:hover{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 2px 6px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .3)}.party-card-set-active-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.party-card-set-active-btn:disabled{opacity:.7;cursor:wait}.party-card-btn-spinner{animation:party-btn-spin 1s linear infinite}@keyframes party-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.party-card-game-mode-badge{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;cursor:help;z-index:1;transition:transform .2s ease,box-shadow .2s ease}.party-card-active-badge{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-sm);color:var(--color-on-primary);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;z-index:2;box-shadow:0 2px 6px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .3);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 6px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .3)}50%{box-shadow:0 2px 10px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .5)}}.party-card-active-badge svg{flex-shrink:0}.party-card-game-mode-badge:hover{transform:scale(1.05)}.party-card-game-mode-badge.standard{background-color:var(--color-surface-dim);color:var(--color-text-secondary);border:1px solid var(--color-border)}.party-card-game-mode-badge.standard:hover{background-color:var(--color-surface);box-shadow:0 2px 6px #0000001a}.party-card-game-mode-badge.uncapped{background:linear-gradient(135deg,#a65eed40,#ed5ea640);color:#9947eb;border:1px solid hsl(270 80% 60% / .3)}.party-card-game-mode-badge.uncapped:hover{background:linear-gradient(135deg,#a65eed59,#ed5ea659);box-shadow:0 2px 6px #9947eb33}.party-card-game-mode-badge.standard:before{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;background:var(--color-text-secondary);border-radius:50%;opacity:.5}.party-detail-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}.party-detail-content{background:hsl(var(--color-surface-h) var(--color-surface-s) var(--color-surface-l));border:1px solid hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 10));border-radius:var(--radius-xl);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeScaleIn .3s ease-out;box-shadow:0 25px 50px -12px #00000080}@keyframes fadeScaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.party-detail-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:10}.party-detail-title-section{display:flex;align-items:center;gap:1rem}.party-detail-avatar{font-size:2.5rem;line-height:1}.party-detail-info h2{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.party-detail-info p{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-secondary)}.party-detail-close{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.party-detail-close:hover{background:var(--color-surface-dim);color:var(--color-text-primary);border-color:var(--color-primary)}.party-detail-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.party-detail-section{padding:1.25rem;background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 2));border:1px solid hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 8));border-radius:var(--radius-lg)}.party-detail-section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 8))}.party-detail-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.party-detail-stat-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border-radius:var(--radius-md)}.party-detail-stat-icon{color:var(--color-primary)}.party-detail-stat-label{font-size:.75rem;color:var(--color-text-secondary)}.party-detail-stat-value{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.party-detail-abilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.75rem}.party-detail-ability-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:var(--color-surface-dim);border-radius:var(--radius-md);text-align:center}.party-detail-ability-name{font-size:.625rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .25rem;text-transform:uppercase}.party-detail-ability-score{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin:0}.party-detail-ability-modifier{font-size:.75rem;color:var(--color-text-secondary);margin:.25rem 0 0}.party-detail-skills-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.party-detail-skill-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.75rem}.party-detail-skill-name{color:var(--color-text-secondary)}.party-detail-skill-modifier{font-weight:600;color:var(--color-text-primary)}.party-detail-skill-proficient{color:var(--color-primary)}.party-detail-skill-expertise{color:var(--color-primary);font-weight:700}.party-detail-equipment-section{display:flex;flex-direction:column;gap:.75rem}.party-detail-equipment-category{display:flex;flex-direction:column;gap:.5rem}.party-detail-equipment-category-label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.party-detail-equipment-items{display:flex;flex-direction:column;gap:.375rem}.party-detail-equipment-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;transition:all .2s ease}.party-detail-equipment-item:hover{border-color:var(--color-border);background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 2))}.party-detail-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-teal) / .05));border-color:hsl(var(--cute-teal) / .4)}.party-detail-equipment-item-equipped:hover{background:linear-gradient(135deg,hsl(var(--cute-teal) / .2),hsl(var(--cute-teal) / .08));border-color:hsl(var(--cute-teal) / .5)}.party-detail-equipment-item-selected{box-shadow:0 0 0 2px hsl(var(--cute-purple) / .3),0 0 12px hsl(var(--cute-purple) / .25);transform:translateY(-1px);border-color:hsl(var(--cute-purple) / .5)!important}.party-detail-equipment-item:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.party-detail-equipment-checkmark{color:hsl(var(--cute-teal));flex-shrink:0}.party-detail-equipment-name{flex:1;color:var(--color-text-primary)}.party-detail-equipment-quantity{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.party-detail-equipment-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--cute-teal) / .2);color:hsl(var(--cute-teal));border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.party-detail-equipment-weight{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.625rem;margin-top:.25rem;background:var(--color-surface-dim);border-radius:var(--radius-md);border:1px solid var(--color-border)}.party-detail-equipment-weight-label{font-size:.8125rem;color:var(--color-text-secondary)}.party-detail-equipment-weight-label strong{color:var(--color-text-primary);font-weight:600}.party-detail-equipment-weight-separator{color:var(--color-border);font-size:.8125rem}.party-detail-spells-section{display:flex;flex-direction:column;gap:1rem}.party-detail-spells-group{display:flex;flex-direction:column;gap:.5rem}.party-detail-spells-group-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin:0;text-transform:uppercase}.party-detail-spells-list{display:flex;flex-wrap:wrap;gap:.5rem}.party-detail-spell-tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease}.party-detail-spell-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.party-detail-spell-tag-selected{box-shadow:0 0 0 2px hsl(var(--cute-purple) / .3),0 0 12px hsl(var(--cute-purple) / .25);transform:translateY(-1px);border-color:hsl(var(--cute-purple) / .5)!important}.party-detail-spell-tag:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.party-detail-spells-empty{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:left;padding:.5rem 0;font-style:italic}.party-detail-xp-section{padding:1rem;background:var(--color-surface-dim);border-radius:var(--radius-md)}.party-detail-xp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.party-detail-xp-label{font-size:.875rem;color:var(--color-text-primary);font-weight:500}.party-detail-xp-values{font-size:.875rem;color:var(--color-primary);font-weight:600}.party-detail-xp-bar{height:.75rem;background:var(--color-surface);border-radius:var(--radius-sm);overflow:hidden}.party-detail-xp-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-light) 100%);transition:width .3s ease;border-radius:var(--radius-sm)}.party-detail-xp-hint{font-size:.75rem;color:var(--color-text-secondary);margin:.5rem 0 0;text-align:center}.party-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.party-no-results-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.party-no-results-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.party-no-results-text{font-size:.875rem;color:var(--color-text-secondary);margin:0}.party-detail-content::-webkit-scrollbar{width:8px}.party-detail-content::-webkit-scrollbar-track{background:var(--color-surface-dim);border-radius:var(--radius-md)}.party-detail-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-md)}.party-detail-content::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.party-detail-saving-throws-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}@media (min-width: 480px){.party-detail-saving-throws-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}@media (min-width: 640px){.party-detail-saving-throws-grid{grid-template-columns:repeat(6,1fr);gap:.5rem}}.party-detail-saving-throw-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.party-detail-saving-throw-item:hover{background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 4));border-color:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 12));transform:translateY(-1px)}.party-detail-saving-throw-item.proficient{background:linear-gradient(135deg,hsl(var(--color-primary) / .15),hsl(var(--cute-yellow) / .1));border-color:hsl(var(--color-primary) / .3)}.party-detail-saving-throw-item.proficient:hover{background:linear-gradient(135deg,hsl(var(--color-primary) / .2),hsl(var(--cute-yellow) / .15));border-color:hsl(var(--color-primary) / .4)}.party-detail-saving-throw-ability{font-size:.75rem;color:var(--color-text-primary);font-weight:600}@media (min-width: 480px){.party-detail-saving-throw-ability{font-size:.8125rem}}.party-detail-saving-throw-indicator{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.party-detail-saving-throw-item.proficient .party-detail-saving-throw-indicator{color:var(--color-primary)}.party-detail-traits-grid{display:flex;flex-wrap:wrap;gap:.375rem}@media (min-width: 640px){.party-detail-traits-grid{gap:.5rem}}.party-detail-trait-badge{display:inline-flex;align-items:center;padding:.375rem .625rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--cute-pink) / .1));border:1px solid hsl(var(--cute-purple) / .25);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;color:var(--color-text-primary);transition:border-color .2s ease,background-color .2s ease,transform .2s ease}@media (min-width: 480px){.party-detail-trait-badge{font-size:.8125rem;padding:.4375rem .75rem}}.party-detail-trait-badge:hover{background:linear-gradient(135deg,hsl(var(--cute-purple) / .25),hsl(var(--cute-pink) / .15));border-color:hsl(var(--cute-purple) / .4);transform:translateY(-1px)}.party-detail-trait-badge-selected{background:linear-gradient(135deg,hsl(var(--cute-purple) / .35),hsl(var(--cute-pink) / .25));border-color:hsl(var(--cute-purple) / .6);box-shadow:0 0 0 2px hsl(var(--cute-purple) / .2),0 0 12px hsl(var(--cute-purple) / .3);transform:translateY(-1px)}.party-detail-trait-badge:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.party-detail-appearance-section{display:flex;flex-direction:column;gap:.625rem}@media (min-width: 640px){.party-detail-appearance-section{gap:.75rem}}.party-detail-appearance-row{display:flex;align-items:center;gap:.75rem}.party-detail-appearance-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500;min-width:5rem}@media (min-width: 640px){.party-detail-appearance-label{font-size:.875rem;min-width:6rem}}.party-detail-appearance-value{font-size:.875rem;color:var(--color-text-primary)}@media (min-width: 640px){.party-detail-appearance-value{font-size:1rem}}.party-detail-appearance-features{display:flex;flex-direction:column;gap:.5rem}.party-detail-appearance-colors-grid{display:flex;flex-wrap:wrap;gap:1rem}.party-detail-appearance-color-item{display:flex;flex-direction:column;align-items:center;gap:.375rem}.party-detail-appearance-color-swatch{width:1.25rem;height:1.25rem;border-radius:4px;border:1px solid hsl(var(--color-border) / .5);box-shadow:0 1px 3px hsl(var(--color-text-primary) / .1);transition:transform .2s ease,box-shadow .2s ease}@media (min-width: 640px){.party-detail-appearance-color-swatch{width:1.5rem;height:1.5rem}}.party-detail-appearance-color-swatch:hover{transform:scale(1.1);box-shadow:0 2px 6px hsl(var(--color-text-primary) / .15)}.party-detail-appearance-color-label{font-size:.6875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}@media (min-width: 640px){.party-detail-appearance-color-label{font-size:.75rem}}.party-detail-equipment-item-ammunition{background:linear-gradient(135deg,hsl(var(--cute-orange) / .1),hsl(var(--cute-yellow) / .05));border-color:hsl(var(--cute-orange) / .3)}.party-detail-equipment-item-ammunition:hover{background:linear-gradient(135deg,hsl(var(--cute-orange) / .15),hsl(var(--cute-yellow) / .1));border-color:hsl(var(--cute-orange) / .4)}.party-detail-equipment-ammo-icon{color:hsl(var(--cute-orange));flex-shrink:0}.party-detail-equipment-ammo-weight{color:var(--color-text-secondary);font-size:.75rem;font-weight:500;font-style:italic;cursor:help}.party-detail-equipment-item-ammunition.party-detail-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-orange) / .1));border-color:hsl(var(--cute-teal) / .4)}.party-analysis-section{display:flex;flex-direction:column;gap:1rem}.party-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.party-analysis-group{display:flex;flex-direction:column;gap:.375rem;padding:.5rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md)}.party-analysis-group-label{font-size:.625rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;padding:0 .25rem}.party-analysis-group-buttons{display:flex;align-items:center;gap:.375rem}.party-analysis-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.party-analysis-btn-text{display:none}@media (min-width: 640px){.party-analysis-btn-text{display:inline}}.party-analysis-btn:hover:not(:disabled){background:var(--color-surface-dim);border-color:var(--color-primary);color:var(--color-primary)}.party-analysis-btn:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.party-analysis-btn:disabled{opacity:.4;cursor:not-allowed}.party-analysis-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.party-analysis-btn-active:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.party-analysis-popover{position:relative;margin-bottom:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000026;overflow:hidden;animation:popoverFadeIn .2s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.party-analysis-popover-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface-dim);border-bottom:1px solid var(--color-border)}.party-analysis-popover-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.party-analysis-popover-close{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.party-analysis-popover-close:hover{background:var(--color-surface);color:var(--color-text-primary)}.party-analysis-popover-content{max-height:400px;overflow-y:auto;padding:1rem}@media (max-width: 480px){.party-analysis-popover{border-radius:var(--radius-md)}.party-analysis-popover-content{max-height:300px;padding:.75rem}}.party-card-selection-mode{position:relative}.party-card-selection-checkbox{position:absolute;bottom:.5rem;left:.5rem;display:flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;padding:0;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;z-index:5}.party-card-selection-checkbox:hover{border-color:var(--color-primary);background:var(--color-surface-dim);color:var(--color-primary)}.party-card-selection-checkbox:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.party-card-selection-checked{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-color:var(--color-primary);color:var(--color-on-primary)}.party-card-selection-checked:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.party-card-unselected{opacity:.6;border-color:var(--color-border)}.party-card-unselected:hover{opacity:.8;border-color:var(--color-border)}.party-card-selection-mode .party-xp-label{padding-left:1.75rem}.party-card-selection-mode .party-card-game-mode-badge{top:.5rem;right:.5rem}.party-selection-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap}.party-selection-buttons{display:flex;align-items:center;gap:.5rem}.party-selection-count{font-size:.875rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:.25rem}.party-selection-count strong{color:var(--color-text-primary);font-weight:600}@media (max-width: 640px){.party-selection-controls{flex-direction:column;align-items:stretch;gap:.75rem}.party-selection-buttons{justify-content:center}.party-selection-count{justify-content:center;text-align:center}}@media (max-width: 400px){.party-header{flex-wrap:wrap;gap:.5rem}.party-header-icon{width:2.25rem;height:2.25rem}.party-header-title{font-size:1.125rem}.party-header-subtitle{font-size:.8125rem}.party-analysis-group{padding:.375rem;gap:.25rem}.party-analysis-group-label{font-size:.5625rem;padding:0 .125rem}.party-analysis-group-buttons{gap:.25rem}.party-analysis-btn{padding:.25rem .5rem;font-size:.6875rem}.party-controls{flex-direction:column;gap:.75rem}.party-search,.party-sort{width:100%;min-width:0}.party-sort-dropdown-btn{min-width:0;width:100%}.party-sort-dropdown-menu{width:100%;left:0;right:0}.party-grid{grid-template-columns:1fr;gap:.75rem}.party-empty-state{padding:2rem 1rem}.party-empty-icon{font-size:3rem}.party-empty-title{font-size:1rem}.party-empty-description{font-size:.8125rem}.party-selection-controls{padding:.625rem .75rem;gap:.5rem}.party-selection-buttons{flex-wrap:wrap;gap:.375rem}.party-selection-count{font-size:.8125rem}.party-no-results{padding:2rem 1rem}.party-no-results-icon{font-size:2.5rem}.party-no-results-title{font-size:1rem}.party-no-results-text{font-size:.8125rem}.party-analysis-section{gap:.75rem}}@media (max-width: 767px){.party-tab,.party-card,.party-detail-content,.party-detail-section{width:100%;min-width:0;overflow:hidden}.party-detail-stats-grid,.party-detail-abilities-grid,.party-detail-skills-list,.party-detail-saving-throws-grid{grid-template-columns:1fr;gap:.75rem}.party-detail-title{font-size:1.25rem}.party-detail-subtitle{font-size:.8125rem}.party-detail-section-title{font-size:.875rem;margin-bottom:.375rem}.party-detail-stat-label{font-size:.6875rem}.party-detail-stat-value{font-size:.875rem}.party-detail-ability-name{font-size:.5625rem}.party-detail-ability-score{font-size:1rem}.party-detail-ability-modifier{font-size:.6875rem}.party-detail-skill-item{font-size:.6875rem;padding:.375rem .5rem}.party-detail-saving-throw-item{padding:.375rem .5rem}.party-detail-saving-throw-ability{font-size:.75rem}.party-detail-trait-badge{font-size:.6875rem;padding:.3125rem .5rem}.party-detail-appearance-label{font-size:.75rem;min-width:4rem}.party-detail-appearance-value{font-size:.8125rem}.party-detail-appearance-color-label,.party-detail-equipment-category-label{font-size:.6875rem}.party-detail-equipment-item{font-size:.75rem;padding:.375rem .5rem}.party-detail-equipment-name{font-size:.75rem}.party-detail-equipment-quantity{font-size:.6875rem}.party-detail-equipment-weight-label,.party-detail-spells-group-title{font-size:.75rem}.party-detail-spell-tag{font-size:.6875rem;padding:.25rem .5rem}.party-detail-content{padding:.75rem;max-height:90vh}.party-detail-header{padding:.75rem 1rem}.party-detail-section{padding:.75rem}.party-detail-stat-item,.party-detail-ability-item{padding:.5rem}.party-detail-traits-grid{gap:.375rem}.party-detail-appearance-section,.party-detail-appearance-row{gap:.5rem}.party-detail-appearance-color-swatch{width:1.125rem;height:1.125rem}.party-detail-equipment-section{gap:.5rem}.party-detail-equipment-category{gap:.375rem}.party-detail-equipment-items{gap:.3125rem}.party-detail-xp-section{padding:.75rem}.party-detail-xp-label,.party-detail-xp-values{font-size:.75rem}.party-detail-xp-bar{height:.625rem}.party-detail-xp-hint,.party-detail-audio-mapping-table{font-size:.6875rem}.party-detail-audio-mapping-table th,.party-detail-audio-mapping-table td{padding:.3125rem .5rem}.party-analysis-group{padding:.375rem;gap:.3125rem}.party-analysis-group-label{font-size:.5625rem;padding:0 .125rem}.party-analysis-group-buttons{gap:.3125rem}.party-analysis-btn{padding:.25rem .5rem;font-size:.625rem}.party-card{padding:.75rem}.party-card-name{font-size:.875rem}.party-card-subtitle{font-size:.6875rem}.party-card-level{font-size:.5625rem;padding:.0625rem .375rem}.party-card-game-mode-badge{font-size:.5625rem;padding:.125rem .375rem}.party-card-xp-label{font-size:.6875rem}.party-card-xp-value{font-size:.75rem}.party-empty-state{padding:1.5rem .75rem;gap:.5rem}.party-empty-icon{font-size:2.5rem}.party-empty-title{font-size:.875rem}.party-empty-description{font-size:.75rem}.party-no-results{padding:1.5rem .75rem}.party-no-results-icon{font-size:2rem}.party-no-results-title{font-size:.875rem}.party-no-results-text{font-size:.75rem}.party-header{gap:.5rem}.party-header-icon{width:2rem;height:2rem}.party-header-title{font-size:1rem}.party-header-subtitle{font-size:.75rem}.party-selection-controls{padding:.5rem .75rem;gap:.5rem}.party-selection-count{font-size:.75rem}.party-controls{gap:.5rem}}.statmodal-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.statmodal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:statmodalOverlayFadeIn .3s ease-out}@keyframes statmodalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.statmodal-container{position:relative;width:100%;max-width:32rem;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#261b32,#23122b);border:2px solid hsl(280 60% 50% / .5);border-radius:1rem;box-shadow:0 0 0 1px #b447eb33,0 25px 50px -12px #00000080,0 0 100px -20px #b447eb4d;animation:statmodalSlideIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes statmodalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (min-width: 640px){.statmodal-container{max-width:36rem}}.statmodal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#4d196680,#33145280);border-bottom:1px solid hsl(280 60% 40% / .3)}.statmodal-title{font-size:1.25rem;font-weight:700;margin:0;color:#f3f0f5;letter-spacing:.02em}.statmodal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:#b8a3c2;cursor:pointer;transition:background-color .2s ease,color .2s ease}.statmodal-close-btn:hover{background:#0003;color:#e7e0eb}.statmodal-close-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #b447eb80}.statmodal-content{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.statmodal-content::-webkit-scrollbar{width:6px}.statmodal-content::-webkit-scrollbar-track{background:#2a1b32;border-radius:3px}.statmodal-content::-webkit-scrollbar-thumb{background:#7a29a3;border-radius:3px}.statmodal-content::-webkit-scrollbar-thumb:hover{background:#93c}.statmodal-info{padding:1rem;background:#664d0026;border:1px solid hsl(45 100% 40% / .3);border-radius:.75rem;text-align:center}.statmodal-info-text{margin:0 0 .5rem;font-size:.9375rem;font-weight:500;color:#f3f0f5}.statmodal-pending-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;font-size:.875rem;font-weight:700;color:#fff9e5;background:#ffbf00;border-radius:9999px;margin:0 .25rem}.statmodal-info-subtext{margin:0;font-size:.8125rem;color:#b8a3c2}.statmodal-mode-toggle{display:flex;gap:.75rem}.statmodal-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;padding:.875rem .75rem;background:#312537;border:2px solid hsl(280 50% 35% / .4);border-radius:.75rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.statmodal-mode-btn:hover{background:#3c2d43;border-color:#8639ac80}.statmodal-mode-btn:active{transform:scale(.98)}.statmodal-mode-btn.statmodal-mode-active{background:#136c4033;border-color:#26d980}.statmodal-mode-label{font-size:.9375rem;font-weight:700;color:#f3f0f5;margin-bottom:.25rem}.statmodal-mode-active .statmodal-mode-label{color:#7de8b3}.statmodal-mode-desc{font-size:.75rem;color:#a085ad;text-align:center;line-height:1.3}.statmodal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (min-width: 480px){.statmodal-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}.statmodal-stat-btn{position:relative;display:flex;flex-direction:column;align-items:center;padding:.875rem .5rem;background:#00000040;border:2px solid hsl(280 50% 35% / .4);border-radius:.75rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease,box-shadow .2s ease;overflow:hidden}.statmodal-stat-btn:hover:not(:disabled){background:#00000059;border-color:#9540bf80;transform:translateY(-2px)}.statmodal-stat-btn:active:not(:disabled){transform:translateY(0)}.statmodal-stat-btn.statmodal-stat-selected{background:linear-gradient(135deg,var(--stat-color),color-mix(in srgb,var(--stat-color) 70%,black));border-color:color-mix(in srgb,var(--stat-color) 80%,white);box-shadow:0 0 0 1px color-mix(in srgb,var(--stat-color) 40%,white) inset,0 4px 16px color-mix(in srgb,var(--stat-color) 40%,transparent);transform:translateY(-2px)}.statmodal-stat-btn.statmodal-stat-disabled{opacity:.5;cursor:not-allowed}.statmodal-stat-btn.statmodal-stat-disabled:hover{transform:none;background:#00000040;border-color:#682d8666}.statmodal-stat-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #b447eb80,0 0 0 4px color-mix(in srgb,var(--stat-color) 40%,transparent)}.statmodal-stat-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:.25rem}.statmodal-stat-short{font-size:.875rem;font-weight:800;color:#e7e0eb;letter-spacing:.05em}.statmodal-stat-selected .statmodal-stat-short{color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .5)}.statmodal-stat-value{font-size:.8125rem;font-weight:600;color:#a085ad;background:#0000004d;padding:.125rem .375rem;border-radius:.25rem}.statmodal-stat-selected .statmodal-stat-value{color:#fff;background:color-mix(in srgb,var(--stat-color) 40%,black);text-shadow:0 1px 2px rgb(0 0 0 / .3)}.statmodal-stat-modifier{font-size:.75rem;margin-left:.125rem}.statmodal-stat-buff{color:#52e099}.statmodal-stat-debuff{color:#e05252}.statmodal-stat-total{font-size:.6875rem;font-weight:600;color:#cfc2d6;text-align:center;transition:color .2s ease}.statmodal-stat-selected .statmodal-stat-total{color:#fff;text-shadow:0 1px 1px rgb(0 0 0 / .3)}.statmodal-stat-full{font-size:.6875rem;font-weight:500;color:#a085ad;text-align:center;text-transform:capitalize;transition:color .2s ease}.statmodal-stat-selected .statmodal-stat-full{color:color-mix(in srgb,white 80%,transparent);text-shadow:0 1px 2px rgb(0 0 0 / .4)}.statmodal-stat-badge{position:absolute;top:.375rem;right:.375rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:700;color:#fff;background:color-mix(in srgb,var(--stat-color) 60%,black);border:1px solid color-mix(in srgb,var(--stat-color) 80%,white);border-radius:.25rem;text-shadow:0 1px 1px rgb(0 0 0 / .5)}.statmodal-stat-btn.statmodal-stat-capped{background:#3913134d;border-color:#7a1f1f80;opacity:.7;cursor:not-allowed}.statmodal-stat-btn.statmodal-stat-capped:hover{background:#3913134d;border-color:#7a1f1f80;transform:none}.statmodal-stat-capped .statmodal-stat-short{color:#c66}.statmodal-stat-capped .statmodal-stat-value{color:#e08585;background:#7a1f1f4d}.statmodal-stat-capped .statmodal-stat-full{color:#b34d4d}.statmodal-stat-cap-badge{position:absolute;bottom:.25rem;right:.25rem;display:flex;align-items:center;gap:.125rem;padding:.125rem .25rem;font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#e87d7d;background:#7a1f1f66;border:1px solid hsl(0 60% 40% / .5);border-radius:.25rem}.statmodal-stat-cap-badge svg{width:10px;height:10px}.statmodal-stat-btn.statmodal-stat-near-cap{border-color:#b88f1499;background:#45360833}.statmodal-stat-btn.statmodal-stat-near-cap:hover:not(:disabled){border-color:#e6b319b3;background:#5c470a4d}.statmodal-stat-near-cap .statmodal-stat-value{color:#f7d56e;background:#8a6b0f4d}.statmodal-stat-near-cap-badge{position:absolute;bottom:.25rem;right:.25rem;padding:.125rem .25rem;font-size:.5625rem;font-weight:600;color:#f7d56e;background:#8a6b0f66;border:1px solid hsl(45 80% 40% / .5);border-radius:.25rem}.statmodal-cap-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#570f0f40;border:1px solid hsl(0 70% 40% / .5);border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#f5a3a3;animation:statmodalBannerFadeIn .3s ease-out}@keyframes statmodalBannerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.statmodal-cap-banner-icon{flex-shrink:0;color:#e05252}.statmodal-effects-section{background:#32203c80;border:1px solid hsl(280 50% 35% / .4);border-radius:.75rem;overflow:hidden;animation:statmodalEffectsFadeIn .3s ease-out}@keyframes statmodalEffectsFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.statmodal-effects-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.statmodal-effects-header:hover{background:#3e274980}.statmodal-effects-header:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #b447eb80}.statmodal-effects-chevron{flex-shrink:0;color:#a085ad;transition:transform .2s ease}.statmodal-effects-title{flex:1;font-size:.875rem;font-weight:600;color:#e7e0eb;text-align:left}.statmodal-effects-count{font-size:.75rem;font-weight:500;color:#a085ad;background:#462d53;padding:.125rem .5rem;border-radius:9999px}.statmodal-effects-list{padding:0 1rem .75rem;display:flex;flex-direction:column;gap:.5rem;animation:statmodalEffectsListSlideIn .25s ease-out}@keyframes statmodalEffectsListSlideIn{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.statmodal-effects-group{display:flex;flex-direction:column;gap:.375rem}.statmodal-effects-ability-label{font-size:.75rem;font-weight:700;letter-spacing:.05em;color:var(--stat-color);padding-bottom:.125rem;border-bottom:1px solid color-mix(in srgb,var(--stat-color) 20%,transparent)}.statmodal-effects-items{display:flex;flex-direction:column;gap:.25rem;padding-left:.5rem}.statmodal-effect-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#0003;border-radius:.375rem;font-size:.75rem}.statmodal-effect-buff{border-left:2px solid hsl(150 70% 50%);background:#194d3333}.statmodal-effect-debuff{border-left:2px solid hsl(0 70% 50%);background:#4d191933}.statmodal-effect-icon{flex-shrink:0}.statmodal-effect-buff .statmodal-effect-icon{color:#52e099}.statmodal-effect-debuff .statmodal-effect-icon{color:#e05252}.statmodal-effect-amount{font-weight:700;min-width:1.5rem}.statmodal-effect-buff .statmodal-effect-amount{color:#7de8b3}.statmodal-effect-debuff .statmodal-effect-amount{color:#e87d7d}.statmodal-effect-source{color:#b8a3c2;font-size:.6875rem}.statmodal-validation{padding:.75rem 1rem;background:#6c131333;border:1px solid hsl(0 70% 40% / .4);border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#e87d7d;text-align:center;animation:statmodalShake .4s ease}@keyframes statmodalShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.statmodal-footer{display:flex;gap:.75rem;padding:1rem 1.5rem 1.25rem;background:#291f2e;border-top:1px solid hsl(280 60% 40% / .3)}.statmodal-cancel-btn{flex:1;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;color:#cfc2d6;background:#0000004d;border:1px solid hsl(280 50% 35% / .4);border-radius:.625rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .1s ease}.statmodal-cancel-btn:hover{background:#0006;border-color:#8639ac80}.statmodal-cancel-btn:active{transform:scale(.98)}.statmodal-cancel-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #b447eb80}.statmodal-apply-btn{flex:2;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;color:#e9fbf2;background:linear-gradient(135deg,#26d980,#1fad66);border:none;border-radius:.625rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,opacity .2s ease;box-shadow:0 4px 12px #17824d66,0 0 0 1px #52e0994d inset}.statmodal-apply-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #17824d80,0 0 0 1px #7de8b366 inset;filter:brightness(1.1)}.statmodal-apply-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #17824d66,0 0 0 1px #52e0994d inset}.statmodal-apply-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.statmodal-apply-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #52e0994d,0 4px 12px #17824d66}@media (max-width: 480px){.statmodal-container{max-height:95vh}.statmodal-header{padding:1rem 1.25rem}.statmodal-title{font-size:1.125rem}.statmodal-content{padding:1rem 1.25rem;gap:1rem}.statmodal-info{padding:.875rem}.statmodal-info-text{font-size:.875rem}.statmodal-info-subtext{font-size:.75rem}.statmodal-mode-toggle{gap:.5rem}.statmodal-mode-btn{padding:.75rem .5rem}.statmodal-mode-label{font-size:.875rem}.statmodal-mode-desc{font-size:.6875rem}.statmodal-grid{gap:.625rem}.statmodal-stat-btn{padding:.75rem .375rem}.statmodal-stat-short{font-size:.8125rem}.statmodal-stat-value{font-size:.75rem}.statmodal-stat-full{font-size:.625rem}.statmodal-footer{padding:.875rem 1.25rem 1rem}.statmodal-cancel-btn,.statmodal-apply-btn{padding:.625rem .875rem;font-size:.875rem}}@media (prefers-reduced-motion: reduce){.statmodal-overlay,.statmodal-container,.statmodal-validation{animation:none}.statmodal-stat-btn,.statmodal-mode-btn,.statmodal-cancel-btn,.statmodal-apply-btn{transition:none}}.mastery-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);backface-visibility:hidden}.mastery-badge:hover,.mastery-badge:focus-visible{transform:scale(1.1)}.mastery-badge:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.mastery-badge-sm{width:18px;height:18px}.mastery-badge-sm .mastery-badge-icon{width:14px;height:14px}.mastery-badge-md{width:24px;height:24px}.mastery-badge-md .mastery-badge-icon{width:20px;height:20px}.mastery-badge-lg{width:32px;height:32px}.mastery-badge-lg .mastery-badge-icon{width:26px;height:26px}.mastery-badge-basic{background-color:hsl(var(--surface-2));color:#ce803b;box-shadow:0 1px 3px #0000004d,inset 0 1px #dba2704d}.mastery-badge-basic:hover{box-shadow:0 2px 6px #ce803b66,inset 0 1px #dba2704d}.mastery-badge-familiar{background-color:hsl(var(--surface-2));color:#adadad;box-shadow:0 1px 3px #0000004d,inset 0 1px #e6e6e64d}.mastery-badge-familiar:hover,.mastery-badge-familiar:focus-visible{box-shadow:0 2px 6px #adadad66,inset 0 1px #e6e6e64d}.mastery-badge-mastered{background:linear-gradient(135deg,hsl(var(--surface-2)),#ffecb326);color:#ffd900;box-shadow:0 0 10px 2px #ffd90080,0 1px 3px #0000004d,inset 0 1px #fff09966;animation:masteryBadgeGlowPulse 2s ease-in-out infinite}.mastery-badge-mastered:hover{box-shadow:0 0 16px 4px #ffd900b3,0 2px 6px #0006,inset 0 1px #fff09966}.mastery-badge-crown{filter:drop-shadow(0 0 2px hsl(51 100% 50% / .6))}@keyframes masteryBadgeGlowPulse{0%,to{box-shadow:0 0 10px 2px #ffd90080,0 1px 3px #0000004d,inset 0 1px #fff09966}50%{box-shadow:0 0 16px 4px #ffd900b3,0 1px 3px #0000004d,inset 0 1px #fff09966}}.mastery-badge-tooltip{position:fixed;z-index:10000;padding:4px 8px;background-color:hsl(var(--surface-3));color:hsl(var(--foreground));font-size:var(--font-size-xs);font-weight:500;line-height:1.4;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);border:1px solid hsl(var(--border));white-space:nowrap;pointer-events:none;animation:masteryTooltipFadeIn .15s var(--ease-out-cubic)}@keyframes masteryTooltipFadeIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}to{opacity:1;transform:translate(-50%,-100%)}}@media (prefers-reduced-motion: reduce){.mastery-badge{transition:none}.mastery-badge:hover{transform:none}.mastery-badge-mastered{animation:none;box-shadow:0 0 10px 2px #ffd90080,0 1px 3px #0000004d,inset 0 1px #fff09966}.mastery-badge-tooltip{animation:none}}.mastery-badge-basic{background:linear-gradient(135deg,hsl(var(--surface-2)),#ce803b1a)}.mastery-badge-familiar{background:linear-gradient(135deg,hsl(var(--surface-2)),#bfbfbf1a)}@media (forced-colors: active){.mastery-badge{background-color:Canvas;color:CanvasText;border:2px solid CurrentColor}.mastery-badge-basic{color:Highlight;border-color:Highlight}.mastery-badge-familiar{color:GrayText;border-color:GrayText}.mastery-badge-mastered{color:Highlight;border-color:Highlight;animation:none;box-shadow:none}.mastery-badge-crown{filter:none}.mastery-badge-tooltip{background-color:Highlight;color:HighlightText;border-color:HighlightText}}@media (prefers-contrast: more){.mastery-badge-basic{color:#df8f49}.mastery-badge-familiar{color:#bfbfbf}.mastery-badge-mastered{color:#ffdd1a}.mastery-badge{border:2px solid currentColor}}.mastery-badge-low-prestige{background:linear-gradient(135deg,hsl(var(--surface-2)),#995cd626);color:#a667e4;box-shadow:0 0 12px 2px #9952e080,0 1px 3px #0000004d,inset 0 1px #cca8f066;animation:masteryBadgePurpleGlow 2.5s ease-in-out infinite}.mastery-badge-low-prestige:hover{box-shadow:0 0 18px 4px #9952e0b3,0 2px 6px #0006,inset 0 1px #cca8f066}.mastery-badge-low-prestige .mastery-badge-crown{filter:drop-shadow(0 0 3px hsl(270 70% 60% / .7))}.mastery-badge-mid-prestige{background:linear-gradient(135deg,hsl(var(--surface-2)),#a73cdd33,#642dd226);color:#c679ec;box-shadow:0 0 16px 3px #a73cdd99,0 1px 3px #0000004d,inset 0 1px #e2bef480;animation:masteryBadgePurplePulse 1.8s ease-in-out infinite}.mastery-badge-mid-prestige:hover{box-shadow:0 0 24px 6px #a73cddcc,0 2px 6px #0006,inset 0 1px #e2bef480}.mastery-badge-mid-prestige .mastery-badge-crown{filter:drop-shadow(0 0 4px hsl(280 70% 60% / .8))}.mastery-badge-high-prestige{background:linear-gradient(135deg,#a73cdd33,#e052b140,#9b2dd233);color:#f28ce1;box-shadow:0 0 20px 4px #e052e099,0 1px 3px #0000004d,inset 0 1px #f7d4f180;animation:masteryBadgeShimmer 3s ease-in-out infinite}.mastery-badge-high-prestige:hover{box-shadow:0 0 28px 8px #e052e0cc,0 2px 6px #0006,inset 0 1px #f7d4f180}.mastery-badge-high-prestige .mastery-badge-crown{filter:drop-shadow(0 0 5px hsl(310 80% 70% / .9))}.mastery-badge-max-prestige{background:linear-gradient(135deg,#eb474733,#ebeb4733,#47eb4733,#47ebeb33,#4747eb33,#eb47eb33);background-size:300% 300%;color:#ffd966;box-shadow:0 0 24px 5px #eb474780,0 1px 3px #0000004d,inset 0 1px #ffffff80;animation:masteryBadgeRainbow 4s linear infinite,masteryBadgeRainbowGlow 2s ease-in-out infinite}.mastery-badge-max-prestige:hover{box-shadow:0 0 32px 10px #eb4747b3,0 2px 6px #0006,inset 0 1px #ffffff80}.mastery-badge-max-prestige .mastery-badge-crown{filter:drop-shadow(0 0 6px hsl(45 100% 70% / 1));animation:masteryBadgeCrownShine 2s ease-in-out infinite}@keyframes masteryBadgePurpleGlow{0%,to{box-shadow:0 0 12px 2px #9952e080,0 1px 3px #0000004d,inset 0 1px #cca8f066}50%{box-shadow:0 0 18px 4px #9952e0b3,0 1px 3px #0000004d,inset 0 1px #cca8f066}}@keyframes masteryBadgePurplePulse{0%,to{box-shadow:0 0 16px 3px #a73cdd99,0 1px 3px #0000004d,inset 0 1px #e2bef480;transform:scale(1)}50%{box-shadow:0 0 24px 6px #a73cddcc,0 1px 3px #0000004d,inset 0 1px #e2bef480;transform:scale(1.05)}}@keyframes masteryBadgeShimmer{0%,to{box-shadow:0 0 20px 4px #b152e099,0 1px 3px #0000004d,inset 0 1px #f7d4f180}33%{box-shadow:0 0 24px 5px #e052e0b3,0 1px 3px #0000004d,inset 0 1px #f7d4eb80}66%{box-shadow:0 0 24px 5px #e052b1b3,0 1px 3px #0000004d,inset 0 1px #ebd4f780}}@keyframes masteryBadgeRainbow{0%{background-position:0% 50%;box-shadow:0 0 24px 5px #eb474799,0 1px 3px #0000004d,inset 0 1px #ffffff80}16.67%{box-shadow:0 0 24px 5px #ebeb4799,0 1px 3px #0000004d,inset 0 1px #ffffff80}33.33%{box-shadow:0 0 24px 5px #47eb4799,0 1px 3px #0000004d,inset 0 1px #ffffff80}50%{background-position:100% 50%;box-shadow:0 0 24px 5px #47ebeb99,0 1px 3px #0000004d,inset 0 1px #ffffff80}66.67%{box-shadow:0 0 24px 5px #4747eb99,0 1px 3px #0000004d,inset 0 1px #ffffff80}83.33%{box-shadow:0 0 24px 5px #eb47eb99,0 1px 3px #0000004d,inset 0 1px #ffffff80}to{background-position:0% 50%;box-shadow:0 0 24px 5px #eb474799,0 1px 3px #0000004d,inset 0 1px #ffffff80}}@keyframes masteryBadgeRainbowGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}@keyframes masteryBadgeCrownShine{0%,to{filter:drop-shadow(0 0 6px hsl(45 100% 70% / 1))}50%{filter:drop-shadow(0 0 10px hsl(60 100% 80% / 1))}}.mastery-badge-prestige{position:absolute;bottom:-4px;right:-4px;font-size:.55em;font-weight:700;line-height:1;padding:1px 3px;border-radius:var(--radius-sm);background:inherit;box-shadow:inherit}.mastery-badge-low-prestige .mastery-badge-prestige{background:#7f26d9e6;color:#fff}.mastery-badge-mid-prestige .mastery-badge-prestige{background:#8e22c3e6;color:#fff}.mastery-badge-high-prestige .mastery-badge-prestige{background:linear-gradient(135deg,#9d26d9e6,#d9269de6);color:#fff}.mastery-badge-max-prestige .mastery-badge-prestige{background:linear-gradient(135deg,#ffbf00e6,#ffff00e6);color:#1a1a1a;animation:masteryBadgeRomanRainbow 4s linear infinite}@keyframes masteryBadgeRomanRainbow{0%{background:linear-gradient(135deg,#e61919e6,#e68019e6)}16.67%{background:linear-gradient(135deg,#e6e619e6,#80e619e6)}33.33%{background:linear-gradient(135deg,#19e619e6,#19e680e6)}50%{background:linear-gradient(135deg,#19e6e6e6,#1980e6e6)}66.67%{background:linear-gradient(135deg,#1919e6e6,#7f19e6e6)}83.33%{background:linear-gradient(135deg,#e619e6e6,#e61980e6)}to{background:linear-gradient(135deg,#e61919e6,#e68019e6)}}@media (prefers-reduced-motion: reduce){.mastery-badge-low-prestige,.mastery-badge-mid-prestige,.mastery-badge-high-prestige,.mastery-badge-max-prestige{animation:none}.mastery-badge-mid-prestige{transform:none}.mastery-badge-low-prestige{box-shadow:0 0 12px 2px #9952e080,0 1px 3px #0000004d,inset 0 1px #cca8f066}.mastery-badge-mid-prestige{box-shadow:0 0 16px 3px #a73cdd99,0 1px 3px #0000004d,inset 0 1px #e2bef480}.mastery-badge-high-prestige{box-shadow:0 0 20px 4px #e052e099,0 1px 3px #0000004d,inset 0 1px #f7d4f180}.mastery-badge-max-prestige{background:linear-gradient(135deg,#ffcc334d,#ffff334d,#ffcc334d);box-shadow:0 0 24px 5px #fc39,0 1px 3px #0000004d,inset 0 1px #ffffff80}.mastery-badge-crown{animation:none!important}}@media (forced-colors: active){.mastery-badge-low-prestige,.mastery-badge-mid-prestige,.mastery-badge-high-prestige,.mastery-badge-max-prestige{color:Highlight;border-color:Highlight;animation:none;box-shadow:none}.mastery-badge-crown{filter:none}.mastery-badge-prestige{background:Canvas;color:CanvasText;border:1px solid CurrentColor}}@media (prefers-contrast: more){.mastery-badge-low-prestige{color:#bf8cf2}.mastery-badge-mid-prestige{color:#d69af4}.mastery-badge-high-prestige{color:#f7a1e9}.mastery-badge-max-prestige{color:#ffe699}.mastery-badge-low-prestige,.mastery-badge-mid-prestige,.mastery-badge-high-prestige,.mastery-badge-max-prestige{border:2px solid currentColor}}.mastery-progress-bar{display:flex;flex-direction:column;gap:.5rem;width:100%}.mastery-progress-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.mastery-progress-level-indicator{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.125rem .5rem;border-radius:9999px}.mastery-progress-target{font-size:.813rem;font-weight:500;color:hsl(var(--muted-foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.mastery-progress-complete{font-size:.813rem;font-weight:600;color:#ffd900;font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.mastery-level-none{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground))}.mastery-level-basic{background-color:#ce803b26;color:#ce803b;border:1px solid hsl(28 60% 52% / .3)}.mastery-level-familiar{background-color:#adadad26;color:#adadad;border:1px solid hsl(0 0% 68% / .3)}.mastery-level-mastered{background:linear-gradient(135deg,#ffd90033,#ffd9001a);color:#ffd900;border:1px solid hsl(51 100% 50% / .4);box-shadow:0 0 8px #ffd9004d}.mastery-progress-label{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.mastery-progress-count{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.mastery-progress-track{position:relative;width:100%;height:.625rem;background-color:hsl(var(--muted) / .4);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.mastery-progress-fill{position:absolute;left:0;top:0;height:100%;border-radius:9999px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 6px hsl(var(--primary) / .3)}.mastery-level-fill-none{background:linear-gradient(90deg,hsl(var(--muted)),#ce803b99)}.mastery-level-fill-basic{background:linear-gradient(90deg,#ce803b,#bfbfbf)}.mastery-level-fill-familiar{background:linear-gradient(90deg,#adadad,#ffd900)}.mastery-level-fill-mastered{background:linear-gradient(90deg,#ffd900,#fc3,#ffd900);box-shadow:0 0 10px #ffd90080;animation:masteredProgressGlow 2s ease-in-out infinite}@keyframes masteredProgressGlow{0%,to{box-shadow:0 0 10px #ffd90080}50%{box-shadow:0 0 16px #ffd900b3}}.mastery-progress-hint{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center}.mastery-progress-mastered-hint{color:#ffd900e6;font-weight:500}.mastery-progress-compact,.mastery-progress-compact .mastery-progress-header{gap:.375rem}.mastery-progress-compact .mastery-progress-level-indicator{font-size:.625rem;padding:.0625rem .375rem}.mastery-progress-compact .mastery-progress-target{font-size:.75rem}.mastery-progress-compact .mastery-progress-track{height:.5rem}.mastery-progress-compact .mastery-progress-hint{display:none}@media (prefers-reduced-motion: reduce){.mastery-progress-fill{transition:none}.mastery-level-fill-mastered{animation:none;box-shadow:0 0 10px #ffd90080}}@media (max-width: 639px){.mastery-progress-level-indicator{font-size:.688rem}.mastery-progress-target{font-size:.75rem}.mastery-progress-hint{font-size:.688rem}}@media (forced-colors: active){.mastery-level-none,.mastery-level-basic,.mastery-level-familiar,.mastery-level-mastered{background-color:Canvas;color:CanvasText;border:2px solid CurrentColor}.mastery-level-fill-none,.mastery-level-fill-basic,.mastery-level-fill-familiar,.mastery-level-fill-mastered{background:Highlight;box-shadow:none;animation:none}.mastery-progress-track{background-color:Canvas;border:1px solid CurrentColor;box-shadow:none}.mastery-progress-complete,.mastery-progress-mastered-hint{color:Highlight}.mastery-progress-target,.mastery-progress-hint{color:CanvasText}}@media (prefers-contrast: more){.mastery-progress-track{background-color:hsl(var(--muted) / .6);border:1px solid hsl(var(--border))}.mastery-level-none{color:hsl(var(--foreground) / .8)}.mastery-level-basic{color:#df8f49;border-color:#df8f4980}.mastery-level-familiar{color:#bfbfbf;border-color:#bfbfbf80}.mastery-level-mastered{color:#ffdd1a;border-color:#ffdd1a99}}.prestige-button-container{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,hsl(var(--surface-2)),#59267333,hsl(var(--surface-2)));border:1px solid hsl(280 50% 50% / .3);border-radius:var(--radius-lg);margin-top:12px;animation:prestigeButtonGlow 3s ease-in-out infinite}@keyframes prestigeButtonGlow{0%,to{box-shadow:0 0 8px 2px #9540bf4d,0 2px 8px #0003}50%{box-shadow:0 0 16px 4px #9540bf80,0 2px 8px #0003}}.prestige-button-info{display:flex;align-items:center;gap:12px}.prestige-button-icon{color:#c47de8;filter:drop-shadow(0 0 4px hsl(280 70% 60% / .6))}.prestige-button-text{display:flex;flex-direction:column;gap:2px}.prestige-button-title{font-size:var(--font-size-sm);font-weight:600;color:hsl(var(--foreground))}.prestige-button-subtitle{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground))}.prestige-button-action{background:linear-gradient(135deg,#93c,#c3c)!important;border-color:#ad5cd6!important}.prestige-button-action:hover{background:linear-gradient(135deg,#a347d1,#d147d1)!important}.prestige-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:prestigeModalFadeIn .2s ease-out}@keyframes prestigeModalFadeIn{0%{opacity:0}to{opacity:1}}.prestige-modal-container{width:90%;max-width:480px;max-height:90vh;overflow-y:auto;background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);animation:prestigeModalSlideIn .2s ease-out}@keyframes prestigeModalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.prestige-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid hsl(var(--border));background:linear-gradient(135deg,#4826594d,hsl(var(--surface-2)));border-radius:var(--radius-xl) var(--radius-xl) 0 0}.prestige-modal-header-content{display:flex;align-items:center;gap:12px}.prestige-modal-header-icon{color:#c47de8;filter:drop-shadow(0 0 4px hsl(280 70% 60% / .6))}.prestige-modal-title{font-size:var(--font-size-lg);font-weight:600;color:hsl(var(--foreground));margin:0}.prestige-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.prestige-modal-close:hover{background:hsl(var(--surface-3));color:hsl(var(--foreground))}.prestige-modal-content{padding:20px;display:flex;flex-direction:column;gap:20px}.prestige-modal-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#a3292926;border:1px solid hsl(0 60% 50% / .3);border-radius:var(--radius-lg)}.prestige-modal-warning-icon{color:#e05252;flex-shrink:0;margin-top:2px}.prestige-modal-warning-text{display:flex;flex-direction:column;gap:4px}.prestige-modal-warning-text strong{color:#e46767;font-size:var(--font-size-sm)}.prestige-modal-warning-text p{margin:0;font-size:var(--font-size-xs);color:hsl(var(--muted-foreground))}.prestige-modal-section{display:flex;flex-direction:column;gap:12px}.prestige-modal-section-title{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:600;color:hsl(var(--foreground));margin:0}.prestige-modal-arrow{color:#ad5cd6}.prestige-modal-changes-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prestige-modal-change-group{padding:12px;border-radius:var(--radius-lg);border:1px solid hsl(var(--border))}.prestige-change-reset{background:#6336361a;border-color:#8f3d3d4d}.prestige-change-keep{background:#3663451a;border-color:#3d8f584d}.prestige-modal-change-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.prestige-change-reset .prestige-modal-change-title{color:#db7070}.prestige-change-keep .prestige-modal-change-title{color:#6c8}.prestige-modal-change-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.prestige-modal-change-list li{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:6px}.prestige-modal-keep-item{color:#82c99a!important}.prestige-modal-keep-item svg{flex-shrink:0}.prestige-modal-requirements{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prestige-modal-requirement{display:flex;flex-direction:column;gap:4px;padding:12px;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);text-align:center}.prestige-modal-requirement-label{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground))}.prestige-modal-requirement-value{font-size:var(--font-size-xl);font-weight:700;color:#c285e0}.prestige-modal-rewards{padding:16px;background:linear-gradient(135deg,#5436631a,#6336631a);border:1px solid hsl(280 40% 40% / .2);border-radius:var(--radius-lg)}.prestige-modal-reward-text{margin:0;font-size:var(--font-size-sm);color:hsl(var(--muted-foreground))}.prestige-modal-badge-upgrade{color:#c47de8}.prestige-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid hsl(var(--border));background:hsl(var(--surface-2));border-radius:0 0 var(--radius-xl) var(--radius-xl)}.prestige-modal-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.prestige-modal-cancel{background:hsl(var(--surface-3));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.prestige-modal-cancel:hover{background:hsl(var(--surface-4));color:hsl(var(--foreground))}.prestige-modal-confirm{background:linear-gradient(135deg,#93c,#c3c);color:#fff;box-shadow:0 2px 8px #7a29a366}.prestige-modal-confirm:hover{background:linear-gradient(135deg,#a347d1,#d147d1);box-shadow:0 4px 12px #7a29a380}@media (prefers-reduced-motion: reduce){.prestige-button-container,.prestige-modal-overlay,.prestige-modal-container{animation:none}}@media (forced-colors: active){.prestige-button-container{border:2px solid CurrentColor}.prestige-modal-confirm{background:Highlight;color:HighlightText}.prestige-modal-cancel{border:1px solid CurrentColor}}@media (max-width: 480px){.prestige-button-container{flex-direction:column;gap:12px;text-align:center}.prestige-button-info{flex-direction:column}.prestige-modal-changes-grid,.prestige-modal-requirements{grid-template-columns:1fr}.prestige-modal-footer{flex-direction:column-reverse}.prestige-modal-btn{width:100%}}.session-history-item{display:flex;flex-direction:column;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:hidden;transition:all .2s ease;flex-shrink:0}.session-history-item:hover{border-color:hsl(var(--primary) / .3);box-shadow:0 2px 8px hsl(var(--foreground) / .08)}.session-history-item-expanded{border-color:hsl(var(--primary) / .5);box-shadow:0 4px 12px hsl(var(--foreground) / .1)}.session-history-item-main{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;cursor:pointer;transition:background-color .15s ease;min-height:72px}.session-history-item-main:hover{background-color:hsl(var(--muted) / .2)}.session-history-item-main:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.session-history-item-icon{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-sm);overflow:hidden;background-color:hsl(var(--muted) / .3)}.session-history-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.session-history-item-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--muted) / .2));color:hsl(var(--muted-foreground))}.session-history-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.session-history-item-title-row{display:flex;flex-direction:column;gap:.25rem}.session-history-item-title{font-size:.938rem;font-weight:600;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.session-history-item-artist{font-size:.813rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-history-item-meta{display:flex;align-items:center;gap:.875rem;font-size:.813rem;color:hsl(var(--muted-foreground))}.session-history-item-duration{display:flex;align-items:center;gap:.375rem;font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-history-item-time{opacity:.8}.session-history-item-xp-section{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem;flex-shrink:0}.session-history-item-xp{font-size:.938rem;font-weight:700;color:hsl(var(--cute-green));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-history-item-bonus-icons{display:flex;align-items:center;gap:.25rem}.session-history-item-bonus-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;padding:3px}.session-history-item-bonus-environmental{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal))}.session-history-item-bonus-gaming{background-color:hsl(var(--cute-yellow) / .15);color:hsl(var(--cute-yellow))}.session-history-item-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:hsl(var(--muted-foreground));transition:transform .2s ease}.session-history-item-toggle-icon{transition:transform .2s ease}.session-history-item-expanded .session-history-item-toggle-icon{transform:rotate(180deg)}.session-history-item-details{padding:0 1rem 1rem;animation:sessionDetailsSlideIn .2s ease-out}@keyframes sessionDetailsSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.session-history-item-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.75rem;background-color:hsl(var(--muted) / .2);border-radius:var(--radius-sm);margin-bottom:.75rem}.session-history-item-detail{display:flex;flex-direction:column;gap:.125rem}.session-history-item-detail-label{font-size:.688rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.session-history-item-detail-value{font-size:.813rem;font-weight:500;color:hsl(var(--foreground))}.session-history-item-detail-bonus .session-history-item-detail-value{color:hsl(var(--cute-green))}.session-history-item-context{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .5)}.session-history-item-context:first-of-type{margin-top:0;border-top:none;padding-top:0}.session-history-item-context-title{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.session-history-item-context-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.session-history-item-context-item{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background-color:hsl(var(--muted) / .15);border-radius:var(--radius-sm)}.session-history-item-context-icon{flex-shrink:0;color:hsl(var(--muted-foreground))}.session-history-item-context-label{font-size:.688rem;font-weight:500;color:hsl(var(--muted-foreground))}.session-history-item-context-value{font-size:.75rem;font-weight:500;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-history-item-location{grid-column:span 2}.session-history-item-location-toggle{margin-left:auto;padding:.125rem;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.session-history-item-location-toggle:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.session-history-item-location-toggle:active{transform:scale(.95)}@media (max-width: 639px){.session-history-item-main{padding:.875rem 1rem;gap:.75rem;min-height:64px}.session-history-item-icon{width:44px;height:44px}.session-history-item-title{font-size:.875rem}.session-history-item-artist,.session-history-item-meta{font-size:.75rem}.session-history-item-xp{font-size:.875rem}.session-history-item-toggle{width:24px;height:24px}.session-history-item-details{padding:0 1rem 1rem}.session-history-item-details-grid,.session-history-item-context-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.session-history-item{transition:none}.session-history-item-details{animation:none}.session-history-item-toggle-icon{transition:none}}.session-history-item-expanded{background-color:hsl(var(--card) / 1)}@media (forced-colors: active){.session-history-item{border:2px solid CurrentColor}.session-history-item-main:focus-visible{outline:3px solid Highlight;outline-offset:-3px}.session-history-item-expanded{border-color:Highlight}.session-history-item-bonus-icon{border:1px solid CurrentColor}.session-history-item-details-grid,.session-history-item-context-item{background-color:Canvas;border:1px solid CurrentColor}}.session-history-panel{display:flex;flex-direction:column;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:visible;transition:all .2s ease;flex-shrink:0;min-height:-moz-fit-content;min-height:fit-content}.session-history-panel:hover{border-color:hsl(var(--border) / 1.2)}.session-history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.session-history-panel-header:hover{background-color:hsl(var(--muted) / .2)}.session-history-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.session-history-panel-title-row{display:flex;align-items:center;gap:.625rem}.session-history-panel-icon{color:hsl(var(--primary));flex-shrink:0}.session-history-panel-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.session-history-panel-count{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));padding:.125rem .5rem;background-color:hsl(var(--muted) / .3);border-radius:9999px}.session-history-panel-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:hsl(var(--muted-foreground));transition:color .15s ease}.session-history-panel-header:hover .session-history-panel-toggle{color:hsl(var(--foreground))}.session-history-panel-toggle-icon{transition:transform .2s ease}.session-history-panel>[role=region]{animation:sessionPanelSlideIn .25s ease-out;overflow:visible}@keyframes sessionPanelSlideIn{0%{opacity:0;max-height:0;transform:translateY(-4px)}to{opacity:1;max-height:2000px;transform:translateY(0)}}.session-history-panel-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .03));border-top:1px solid hsl(var(--border) / .5);border-bottom:1px solid hsl(var(--border) / .5)}.session-history-panel-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem}.session-history-panel-stat-icon{color:hsl(var(--primary) / .8)}.session-history-panel-stat-value{font-size:1rem;font-weight:700;color:hsl(var(--foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-history-panel-stat-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.session-history-panel-list{display:flex;flex-direction:column;gap:.625rem;padding:.875rem;flex:1 0 auto;max-height:500px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsl(var(--muted) / .5) transparent}.session-history-panel-list::-webkit-scrollbar{width:6px}.session-history-panel-list::-webkit-scrollbar-track{background:transparent}.session-history-panel-list::-webkit-scrollbar-thumb{background-color:hsl(var(--muted) / .5);border-radius:3px}.session-history-panel-list::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted) / .7)}.session-history-panel-item{border-radius:calc(var(--radius) - 2px)}.session-history-panel-list-virtualized{contain:content;will-change:scroll-position}.session-history-panel-virtual-padding{flex-shrink:0}.session-history-panel-footer{display:flex;justify-content:center;padding:.75rem 1rem;border-top:1px solid hsl(var(--border) / .5)}.session-history-panel-show-more{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.813rem;font-weight:500;color:hsl(var(--primary));background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--primary) / .05));border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius);cursor:pointer;transition:all .2s ease}.session-history-panel-show-more:hover{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--primary) / .1));border-color:hsl(var(--primary) / .4);transform:translateY(-1px);box-shadow:0 2px 8px hsl(var(--primary) / .2)}.session-history-panel-show-more:active{transform:translateY(0);box-shadow:none}.session-history-panel-show-more:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.session-history-panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;gap:.75rem}.session-history-panel-empty-icon{color:hsl(var(--muted-foreground));opacity:.4}.session-history-panel-empty-text{font-size:.938rem;font-weight:600;color:hsl(var(--foreground));margin:0}.session-history-panel-empty-hint{font-size:.813rem;color:hsl(var(--muted-foreground));margin:0;max-width:200px}@media (max-width: 639px){.session-history-panel-header{padding:.875rem 1rem}.session-history-panel-title{font-size:.938rem}.session-history-panel-stats{padding:.625rem 1rem;gap:.5rem}.session-history-panel-stat{padding:.375rem}.session-history-panel-stat-value{font-size:.875rem}.session-history-panel-list{padding:.625rem;max-height:350px}.session-history-panel-footer{padding:.625rem .875rem}.session-history-panel-show-more{font-size:.75rem;padding:.5rem .875rem;min-height:2.75rem}.session-history-panel-empty{padding:1.5rem 1rem}.session-history-panel-empty-text{font-size:.875rem}}@media (prefers-reduced-motion: reduce){.session-history-panel,.session-history-panel-header,.session-history-panel-toggle-icon,.session-history-panel-show-more{transition:none}.session-history-panel>[role=region]{animation:none}}.session-history-panel-stats{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--primary) / .05))}.session-history-panel-show-more{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .08))}@media (forced-colors: active){.session-history-panel{border:2px solid CurrentColor}.session-history-panel-header:focus-visible{outline:3px solid Highlight;outline-offset:-3px}.session-history-panel-stats{background:Canvas;border:1px solid CurrentColor}.session-history-panel-show-more{background:Canvas;border:2px solid CurrentColor;color:LinkText}.session-history-panel-show-more:focus-visible{outline:3px solid Highlight;outline-offset:2px}.session-history-panel-count{background:Canvas;border:1px solid CurrentColor}}.session-tab-container{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 768px){.session-tab-container{gap:1.75rem}}.session-tab-header{display:flex;align-items:center;gap:.75rem}.session-tab-icon-badge{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background-color:hsl(var(--primary) / .1);border-radius:.5rem;color:hsl(var(--primary))}.session-tab-icon{width:1.125rem;height:1.125rem}.session-tab-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));line-height:1.2}.session-tab-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.125rem}.session-empty-card{min-height:300px;display:flex;align-items:center;justify-content:center}.session-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:2rem 1rem}.session-empty-icon{width:4rem;height:4rem;color:hsl(var(--muted));opacity:.6}@media (min-width: 768px){.session-empty-icon{width:5rem;height:5rem}}.session-empty-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.session-empty-title{font-size:1.25rem}}.session-empty-description{font-size:.875rem;color:hsl(var(--muted-foreground));max-width:320px}.session-content{display:flex;flex-direction:column;gap:1.25rem}@media (min-width: 768px){.session-content{gap:1.5rem}}.session-hero-song-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.session-hero-song-grid{grid-template-columns:minmax(220px,280px) 1fr}}.session-combined-info-card{display:flex;flex-direction:column}.session-combined-info-content{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.session-combined-xp-section{display:flex;flex-direction:column;gap:.625rem}.session-combined-header{display:flex;align-items:center;gap:.5rem}.session-combined-avatar{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background-color:hsl(var(--primary) / .15);border-radius:.375rem;color:hsl(var(--primary));flex-shrink:0}.session-combined-icon{width:1rem;height:1rem}.session-combined-char-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.session-combined-char-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-combined-char-level{font-size:.75rem;color:hsl(var(--muted-foreground))}.session-combined-mode-badge{font-size:.563rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.session-combined-mode-badge.standard{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.session-combined-mode-badge.uncapped{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .3)}.session-combined-xp-progress{display:flex;flex-direction:column;gap:.375rem;padding:.625rem .75rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .03));border-radius:var(--radius);border:1px solid hsl(var(--primary) / .15)}.session-combined-xp-stats{display:flex;justify-content:space-between;gap:.75rem}.session-combined-xp-stat{display:flex;flex-direction:column;gap:.125rem}.session-combined-xp-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.session-combined-xp-value{font-size:.813rem;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-combined-xp-session{font-size:.625rem;font-weight:500;color:hsl(var(--cute-green));font-family:ui-monospace,SF Mono,Roboto Mono,monospace}.session-combined-xp-bar-container{position:relative;width:100%;height:.5rem;background-color:hsl(var(--muted) / .5);border-radius:9999px;overflow:hidden}.session-combined-xp-bar{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-teal)));border-radius:9999px;transition:width var(--duration-normal) var(--ease-out-cubic);box-shadow:0 0 6px hsl(var(--primary) / .4)}.session-combined-xp-hint{font-size:.625rem;color:hsl(var(--muted-foreground));text-align:center}.session-combined-pending-alert{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:linear-gradient(135deg,hsl(var(--cute-green) / .15),hsl(var(--cute-green) / .05));border-radius:.375rem;border:1px solid hsl(var(--cute-green) / .3);cursor:pointer;transition:all .2s ease;font-size:.688rem;font-weight:500;color:hsl(var(--cute-green))}.session-combined-pending-alert:hover{background:linear-gradient(135deg,hsl(var(--cute-green) / .25),hsl(var(--cute-green) / .1));box-shadow:0 0 8px hsl(var(--cute-green) / .4)}.session-combined-no-char{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background-color:hsl(var(--destructive) / .1);border-radius:var(--radius);border:1px solid hsl(var(--destructive) / .2);font-size:.75rem;color:hsl(var(--destructive))}.session-combined-divider{height:1px;background:linear-gradient(90deg,transparent,hsl(var(--border)),transparent);margin:.25rem 0}.session-combined-mastery-section{display:flex;flex-direction:column;gap:.5rem}.session-combined-mastery-header{display:flex;align-items:center;gap:.375rem}.session-combined-mastery-icon{color:hsl(var(--primary))}.session-combined-mastery-label{font-size:.688rem;font-weight:600;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em}.session-combined-listen-count{display:flex;align-items:center;gap:.25rem;padding:.25rem .375rem;background-color:hsl(var(--muted) / .3);border-radius:.25rem;font-size:.625rem;color:hsl(var(--muted-foreground));width:-moz-fit-content;width:fit-content}.session-combined-bonus-section{display:flex;flex-direction:column;gap:.375rem}.session-combined-bonus-title{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.session-combined-bonus-grid{display:flex;flex-wrap:wrap;gap:.375rem}.session-combined-bonus-item{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-teal) / .05));border-radius:.25rem;border:1px solid hsl(var(--cute-teal) / .2);font-size:.625rem;font-weight:500;color:hsl(var(--cute-teal))}.session-combined-multiplier{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05));border-radius:.25rem}.session-combined-multiplier-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground))}.session-combined-multiplier-value{font-size:.75rem;font-weight:700;color:hsl(var(--primary));font-family:ui-monospace,SF Mono,Roboto Mono,monospace}.session-timer-track-info{display:flex;flex-direction:column;align-items:center;gap:.125rem;margin-top:.75rem;text-align:center}.session-timer-track-title-row{display:flex;align-items:center;justify-content:center;gap:.375rem;max-width:100%}.session-timer-track-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.session-timer-track-artist{font-size:.625rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.session-hero-card{display:flex;flex-direction:column}.session-hero-card-content{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.session-song-card{display:flex;flex-direction:column}.session-song-card-content{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.session-song-header{display:flex;flex-direction:column;gap:1rem}.session-action-section{display:flex;justify-content:center;padding:.75rem 0}.session-action-button-prominent{width:100%;max-width:500px;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;height:auto;min-height:3rem;box-shadow:0 4px 12px hsl(var(--primary) / .2);transition:all .2s ease}.session-action-button-prominent:hover{transform:translateY(-2px);box-shadow:0 6px 16px hsl(var(--primary) / .3)}.session-action-button-prominent:active{transform:translateY(0);box-shadow:0 2px 8px hsl(var(--primary) / .2)}@media (min-width: 640px){.session-action-button-prominent{font-size:1.063rem;padding:1rem 2rem;min-height:3.25rem}}.session-song-header{display:flex;flex-direction:row;gap:1rem;align-items:center}.session-song-image-container{position:relative;width:140px;height:140px;flex-shrink:0;border-radius:var(--radius);overflow:hidden;background-color:hsl(var(--muted) / .3)}.session-song-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.session-song-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--muted) / .2))}.session-song-placeholder-icon{color:hsl(var(--muted-foreground));opacity:.5}.session-song-status-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .625rem;border-radius:9999px;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.session-song-status-badge.session-status-active{background-color:hsl(var(--cute-green) / .85);color:hsl(var(--background))}.session-song-status-badge.session-status-inactive{background-color:hsl(var(--muted) / .7);color:hsl(var(--muted-foreground))}.session-song-info{display:flex;flex-direction:column;gap:.25rem}.session-song-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.session-song-artist{font-size:.875rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-song-meta{display:flex;align-items:center;gap:.75rem}.session-song-duration{font-size:.813rem;color:hsl(var(--muted-foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-xp-display-compact{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05));border-radius:var(--radius);border:1px solid hsl(var(--primary) / .2)}.session-xp-value-compact{font-size:.875rem;font-weight:600;color:hsl(var(--primary));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.timer-ring-container{position:relative;display:flex;align-items:center;justify-content:center}.timer-ring-container.timer-ring-compact{filter:drop-shadow(0 2px 6px hsl(var(--primary) / .2))}.timer-ring-svg{overflow:visible}.timer-ring-bg{opacity:.3;transition:all var(--duration-normal) var(--ease-out-cubic)}.timer-ring-outer{opacity:.5;animation:outerRingRotate 20s linear infinite}@keyframes outerRingRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timer-ring-inner{animation:innerRingPulse 3s ease-in-out infinite}@keyframes innerRingPulse{0%,to{opacity:.3}50%{opacity:.6}}.timer-ring-progress{transition:stroke-dashoffset var(--duration-normal) var(--ease-out-cubic)}.timer-ring-active{filter:drop-shadow(0 0 12px hsl(var(--primary) / .5));animation:timerRingPulse 2s ease-in-out infinite}@keyframes timerRingPulse{0%,to{filter:drop-shadow(0 0 12px hsl(var(--primary) / .5))}50%{filter:drop-shadow(0 0 16px hsl(var(--cute-teal) / .6))}}.session-timer-layout{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.session-timer-layout{grid-template-columns:1fr 1fr}}.session-timer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:1.5rem;transition:box-shadow var(--duration-normal) var(--ease-out-cubic),border-color var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic)}.session-timer-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at center,hsl(var(--primary) / .05),transparent 70%);opacity:0;transition:opacity var(--duration-normal) var(--ease-out-cubic);pointer-events:none}.session-timer-card-active{border-color:hsl(var(--primary) / .5);background-color:hsl(var(--primary) / .03);box-shadow:0 0 0 2px hsl(var(--primary) / .1),0 4px 12px hsl(var(--primary) / .15);animation:sessionCardPulse 2s ease-in-out infinite}.session-timer-card-active:before{opacity:1}@keyframes sessionCardPulse{0%,to{box-shadow:0 0 0 2px hsl(var(--primary) / .1),0 4px 12px hsl(var(--primary) / .15)}50%{box-shadow:0 0 0 3px hsl(var(--primary) / .15),0 6px 20px hsl(var(--cute-teal) / .2)}}.session-timer-display{position:relative;display:flex;align-items:center;justify-content:center}.session-timer-text-container{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.session-time-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.session-time-value{font-size:1.625rem;font-weight:700;font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;color:hsl(var(--foreground));line-height:1}@media (min-width: 768px){.session-time-value{font-size:1.875rem}}.session-time-total{font-size:.813rem;color:hsl(var(--muted-foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-id-display{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--muted) / .3));border-radius:.375rem;font-size:.563rem;border:1px solid hsl(var(--primary) / .2)}.session-id-label{font-weight:500;color:hsl(var(--muted-foreground))}.session-id-value{font-family:ui-monospace,SF Mono,Roboto Mono,monospace;color:hsl(var(--primary));font-weight:600}.session-info-card{display:flex;flex-direction:column}.session-info-header{margin-bottom:1rem}.session-info-content{display:flex;flex-direction:column;gap:.875rem;flex:1}.session-character-section{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .03));border-radius:var(--radius);border:1px solid hsl(var(--primary) / .15)}.session-character-header{display:flex;align-items:flex-start;gap:.75rem}.session-character-avatar{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:hsl(var(--primary) / .15);border-radius:.5rem;color:hsl(var(--primary));flex-shrink:0}.session-character-icon{width:1.25rem;height:1.25rem}.session-character-info{flex:1;min-width:0}.session-character-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-character-name{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.session-character-mode-badge{font-size:.625rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.session-character-mode-badge.standard{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.session-character-mode-badge.uncapped{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .3)}.session-character-details{font-size:.813rem;color:hsl(var(--muted-foreground));margin-top:.125rem}.session-character-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--border) / .5)}.session-character-stat-item{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .5rem;background-color:hsl(var(--muted) / .3);border-radius:.375rem}.session-character-stat-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.session-character-stat-value{font-size:.813rem;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-character-stat-xp{grid-column:span 1}.session-character-xp-content{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%}.session-character-xp-session{font-size:.688rem;font-weight:500;color:hsl(var(--cute-green));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;opacity:.9}.session-pending-stats-alert{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:linear-gradient(135deg,hsl(var(--cute-green) / .15),hsl(var(--cute-green) / .05));border-radius:.5rem;border:1px solid hsl(var(--cute-green) / .3);cursor:pointer;transition:all .2s ease}.session-pending-stats-alert:hover{background:linear-gradient(135deg,hsl(var(--cute-green) / .25),hsl(var(--cute-green) / .1));box-shadow:0 0 12px hsl(var(--cute-green) / .5);border-color:hsl(var(--cute-green) / .5);transform:translateY(-1px)}.session-pending-stats-alert:active{transform:translateY(0);box-shadow:0 0 8px hsl(var(--cute-green) / .4)}.session-pending-stats-alert:focus-visible{outline:2px solid hsl(var(--cute-green));outline-offset:2px}.session-pending-stats-icon{color:hsl(var(--cute-green));flex-shrink:0}.session-pending-stats-text{font-size:.75rem;font-weight:500;color:hsl(var(--cute-green))}.session-stat-info{padding:.5rem .75rem;background-color:hsl(var(--muted) / .3);border-radius:.375rem}.session-stat-info-text{font-size:.713rem;color:hsl(var(--muted-foreground))}.session-no-character-warning{display:flex;align-items:center;gap:.625rem;padding:.875rem 1rem;background-color:hsl(var(--destructive) / .1);border-radius:var(--radius);border:1px solid hsl(var(--destructive) / .2)}.session-no-character-icon{color:hsl(var(--destructive));flex-shrink:0}.session-no-character-text{font-size:.813rem;color:hsl(var(--destructive))}.session-info-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);transition:background-color var(--duration-fast) var(--ease-out-cubic)}.session-info-item:hover{background-color:hsl(var(--muted) / .5)}.session-info-label{font-size:.813rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.session-info-value{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));text-align:right}.session-status-active{color:hsl(var(--cute-teal));font-weight:600}.session-status-inactive{color:hsl(var(--muted-foreground))}.session-info-footer{margin-top:1.5rem;display:flex;justify-content:stretch}.session-action-button{width:100%}.session-history-card{overflow:hidden}.session-history-header{margin-bottom:1rem}.session-history-content{display:flex;flex-direction:column;gap:1.5rem}.session-history-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 640px){.session-history-grid{grid-template-columns:repeat(2,1fr)}}.session-history-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);border-left:3px solid hsl(var(--primary))}.session-history-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.session-history-value{font-size:.875rem;font-weight:500;color:hsl(var(--foreground));word-break:break-word}.session-context-section{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.session-context-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.session-context-grid{display:grid;grid-template-columns:1fr;gap:.625rem}@media (min-width: 640px){.session-context-grid{grid-template-columns:repeat(2,1fr)}}.session-context-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background-color:hsl(var(--muted) / .25);border-radius:.375rem}.session-context-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.session-context-value{font-size:.813rem;font-weight:500;color:hsl(var(--foreground))}@media (max-width: 639px){.session-timer-card{min-height:160px;padding:1.25rem}.timer-ring-container{transform:scale(.9)}.session-time-value{font-size:1.5rem}}.session-xp-display{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05));border-left:3px solid hsl(var(--primary));animation:xpDisplayPulse 2s ease-in-out infinite}@keyframes xpDisplayPulse{0%,to{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05))}50%{background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--primary) / .08))}}.session-xp-icon{display:inline-block;margin-right:.25rem;color:hsl(var(--primary));animation:sparkleSpin 3s linear infinite}@keyframes sparkleSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.session-xp-value{font-size:1rem;font-weight:700;color:hsl(var(--primary));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;transition:transform var(--duration-fast) var(--ease-out-cubic);display:inline-block}.session-xp-progress-section{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem;background-color:hsl(var(--muted) / .4);border-radius:var(--radius);border:1px solid hsl(var(--primary) / .2)}.session-xp-progress-header{display:flex;justify-content:space-between;align-items:center}.session-xp-progress-label{font-size:.75rem;font-weight:600;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em}.session-xp-progress-text{font-size:.813rem;font-weight:500;color:hsl(var(--foreground));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-xp-progress-bar-container{position:relative;width:100%;height:.75rem;background-color:hsl(var(--muted) / .5);border-radius:9999px;overflow:hidden}.session-xp-progress-bar{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary) / .8));border-radius:9999px;transition:width var(--duration-normal) var(--ease-out-cubic);box-shadow:0 0 8px hsl(var(--primary) / .4)}.session-xp-progress-hint{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center;margin:0}.session-bonus-breakdown{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);border:1px solid hsl(var(--border))}.session-bonus-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem}.session-bonus-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem .5rem;background-color:hsl(var(--muted) / .3);border-radius:.375rem}.session-bonus-label{display:flex;align-items:center;gap:.375rem;font-size:.813rem;font-weight:500;color:hsl(var(--foreground))}.session-bonus-icon{color:hsl(var(--cute-teal))}.session-bonus-value{font-size:.813rem;font-weight:600;color:hsl(var(--cute-green));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-bonus-total{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--primary) / .05));border-radius:.375rem;margin-top:.25rem}.session-bonus-total-label{font-size:.813rem;font-weight:600;color:hsl(var(--foreground))}.session-bonus-total-value{font-size:.875rem;font-weight:700;color:hsl(var(--primary));font-family:ui-monospace,SF Mono,Roboto Mono,monospace;font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.session-mastery-badge-overlay{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:linear-gradient(135deg,hsl(var(--background) / .9),hsl(var(--background) / .75));border-radius:9999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px hsl(var(--foreground) / .2)}.session-mastery-section{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--primary) / .03));border-radius:var(--radius);border:1px solid hsl(var(--primary) / .15)}.session-mastery-header{display:flex;align-items:center;gap:.375rem}.session-mastery-icon{color:hsl(var(--primary))}.session-mastery-label{font-size:.75rem;font-weight:600;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.05em}.session-mastery-progress{margin-top:.25rem}.session-listen-count{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background-color:hsl(var(--muted) / .3);border-radius:.375rem}.session-listen-icon{color:hsl(var(--muted-foreground))}.session-listen-text{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (max-width: 639px){.session-song-header{flex-direction:column;align-items:center}.session-song-image-container{width:100%;max-width:180px;height:auto;aspect-ratio:1;margin:0 auto}.session-song-info{width:100%;text-align:center;align-items:center}.session-song-title,.session-song-artist{text-align:center}.session-song-meta{justify-content:center}.session-mastery-section{padding:.625rem}.session-mastery-header,.session-listen-count{justify-content:center}.session-mastery-badge-overlay{bottom:.375rem;padding:.125rem .375rem}.session-timer-card{min-height:140px;padding:1rem}.timer-ring-container{transform:scale(.8)}.session-time-value{font-size:1.25rem}.session-combined-info-content{padding:.75rem;gap:.5rem}.session-combined-header{flex-wrap:wrap}.session-combined-xp-stats{flex-direction:row}.session-combined-bonus-grid{flex-direction:column}.session-hero-song-grid{grid-template-columns:1fr}.session-timer-track-info{margin-top:.5rem}.session-timer-track-title-row{flex-wrap:wrap;gap:.25rem}.session-timer-track-title{font-size:.625rem}.session-timer-track-artist{font-size:.5rem}}.session-context-item-location{grid-column:span 2}.session-context-location-toggle{margin-left:auto;padding:.125rem;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.session-context-location-toggle:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.session-context-location-toggle:active{transform:scale(.95)}@media (max-width: 767px){.session-tab-container,.session-content{gap:.75rem}.session-tab-header{gap:.5rem}.session-tab-icon-badge{width:1.75rem;height:1.75rem}.session-tab-icon{width:.875rem;height:.875rem}.session-tab-title{font-size:1rem}.session-tab-subtitle{font-size:.6875rem}.session-empty-card{min-height:200px}.session-empty-state{padding:1.5rem .75rem;gap:.75rem}.session-empty-icon{width:3rem;height:3rem}.session-empty-title{font-size:1rem}.session-empty-description{font-size:.75rem}.session-hero-song-grid{gap:.75rem;grid-template-columns:1fr}.session-combined-info-content{padding:.5rem;gap:.5rem}.session-combined-xp-section{gap:.5rem}.session-combined-avatar{width:1.5rem;height:1.5rem}.session-combined-icon{width:.875rem;height:.875rem}.session-combined-char-name{font-size:.75rem}.session-combined-char-level{font-size:.625rem}.session-combined-xp-display{font-size:.75rem}.session-combined-xp-value{font-size:.875rem}.session-combined-bonus-grid{gap:.5rem}.session-combined-bonus-item{padding:.375rem .5rem;font-size:.6875rem}.session-timer-card{min-height:120px;padding:.75rem}.timer-ring-container{transform:scale(.7)}.session-time-value{font-size:1rem}.session-time-label{font-size:.6875rem}.session-timer-track-title{font-size:.75rem}.session-timer-track-artist{font-size:.6875rem}.session-mastery-header{gap:.5rem}.session-mastery-title,.session-mastery-track-title{font-size:.875rem}.session-mastery-track-artist{font-size:.75rem}.session-listen-count{font-size:.6875rem}.session-stats-grid{gap:.5rem}.session-stat-item{padding:.5rem}.session-stat-label{font-size:.6875rem}.session-stat-value{font-size:.875rem}.session-controls,.session-context-grid{gap:.5rem}.session-context-item{padding:.5rem;font-size:.6875rem}.session-context-label{font-size:.625rem}.session-context-value{font-size:.75rem}}.xp-calculator-tabs{display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:0;border-bottom:1px solid hsl(var(--border))}@media (min-width: 768px){.xp-calculator-tabs{gap:.75rem;margin-bottom:1.25rem}}.xp-calculator-tab{position:relative;display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));background:transparent;border:none;border-radius:var(--radius) var(--radius) 0 0;cursor:pointer;transition:color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-calculator-tab{padding:.75rem 1.25rem;font-size:.9375rem}}.xp-calculator-tab:hover:not(:disabled){color:hsl(var(--foreground));background-color:hsl(var(--surface-2) / .5)}.xp-calculator-tab:disabled{opacity:.5;cursor:not-allowed}.xp-calculator-tab-active{color:hsl(var(--foreground));font-weight:600;background-color:hsl(var(--surface-2))}.xp-calculator-tab-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-yellow)));border-radius:1px 1px 0 0}.xp-calculator-tab-indicator{width:.5rem;height:.5rem;background:hsl(var(--cute-green));border-radius:50%;animation:tabPulse 2s ease-in-out infinite}@keyframes tabPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.xp-results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center}.xp-results-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}@media (min-width: 768px){.xp-results-empty-icon{font-size:4rem;margin-bottom:1.25rem}}.xp-results-empty-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}@media (min-width: 768px){.xp-results-empty-title{font-size:1.125rem}}.xp-results-empty-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;max-width:25rem}@media (min-width: 768px){.xp-results-empty-description{font-size:.9375rem}}.ml-2{margin-left:.5rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.xp-calculator-character-card{background:linear-gradient(135deg,hsl(var(--primary) / .1),hsl(var(--surface-2)));border:1px solid hsl(var(--primary) / .2)}.xp-character-display{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.xp-character-display{flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem}}.xp-character-info{display:flex;align-items:center;gap:.75rem;flex:1}.xp-character-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .2));border:2px solid hsl(var(--primary) / .3);border-radius:.75rem;flex-shrink:0}@media (min-width: 640px){.xp-character-avatar{width:3.5rem;height:3.5rem}}.xp-avatar-emoji{font-size:1.5rem}@media (min-width: 640px){.xp-avatar-emoji{font-size:1.75rem}}.xp-avatar-badge{position:absolute;bottom:-.375rem;right:-.375rem;background:linear-gradient(135deg,hsl(var(--cute-yellow)),hsl(var(--cute-orange)));border:2px solid hsl(var(--surface-2));border-radius:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:700;color:hsl(var(--surface-2));white-space:nowrap}@media (min-width: 640px){.xp-avatar-badge{font-size:.6875rem;padding:.125rem .5rem}}.xp-character-details{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.xp-character-name{font-size:.9375rem;font-weight:700;margin:0;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 640px){.xp-character-name{font-size:1rem}}.xp-character-class{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 640px){.xp-character-class{font-size:.8125rem}}.xp-character-stats{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.xp-character-stats{flex-direction:row;gap:1rem}}.xp-character-stat{display:flex;flex-direction:column;gap:.125rem}.xp-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.025em}@media (min-width: 640px){.xp-stat-label{font-size:.75rem}}.xp-stat-value{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 640px){.xp-stat-value{font-size:1rem}}.xp-stat-highlight{color:hsl(var(--primary))}.xp-character-selector{display:flex;flex-direction:column;gap:.375rem}@media (min-width: 640px){.xp-character-selector{width:14rem;flex-shrink:0}}.xp-selector-label{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 640px){.xp-selector-label{font-size:.75rem}}.xp-select-wrapper{position:relative}.xp-character-select{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.8125rem;background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 640px){.xp-character-select{font-size:.875rem;padding:.625rem 2rem .625rem .875rem}}.xp-character-select:hover:not(:focus){border-color:hsl(var(--muted-foreground) / .5)}.xp-character-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.xp-select-icon{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.xp-character-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem 0;text-align:center}@media (min-width: 640px){.xp-character-empty{padding:1rem 0;gap:1rem}}.xp-empty-icon{color:hsl(var(--muted-foreground))}.xp-empty-title{font-size:.9375rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 640px){.xp-empty-title{font-size:1rem}}.xp-empty-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 640px){.xp-empty-description{font-size:.8125rem}}.xp-calculator-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.xp-calculator-container{gap:1.5rem}}.xp-calculator-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.xp-calculator-header-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .2),hsl(var(--cute-orange) / .2));border:1px solid hsl(var(--cute-yellow) / .3);border-radius:.5rem;font-size:1.125rem;flex-shrink:0}.xp-calculator-header-content h2{font-size:1.25rem;font-weight:600;margin:0;color:hsl(var(--foreground));line-height:1.2}.xp-calculator-header-content{display:flex;flex-direction:column;gap:.125rem}.xp-calculator-header-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.2}.xp-calculator-context-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 768px){.xp-calculator-context-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.xp-duration-card{grid-column:1;background:linear-gradient(135deg,hsl(var(--primary) / .12),hsl(var(--surface-2)));border:2px solid hsl(var(--primary) / .3);border-radius:var(--radius);padding:1.25rem;box-shadow:0 4px 12px hsl(var(--primary) / .1);transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);position:relative;overflow:hidden}.xp-duration-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-yellow)))}@media (min-width: 768px){.xp-duration-card{grid-column:1 / -1;padding:1.5rem}}.xp-duration-card:hover{border-color:hsl(var(--primary) / .5);box-shadow:0 6px 16px hsl(var(--primary) / .15);transform:translateY(-2px)}.xp-calculator-main-card{background:linear-gradient(135deg,hsl(var(--primary) / .08),hsl(var(--surface-2)));border:2px solid hsl(var(--primary) / .25);padding:0!important;overflow:hidden}.xp-calculator-main-grid{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 640px){.xp-calculator-main-grid{grid-template-columns:1.2fr 1fr}}.xp-duration-section{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;border-bottom:1px solid hsl(var(--border))}@media (min-width: 640px){.xp-duration-section{padding:1.5rem;border-bottom:none;border-right:1px solid hsl(var(--border))}}.xp-duration-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.xp-duration-title{font-size:.8125rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0}@media (min-width: 640px){.xp-duration-title{font-size:.875rem}}.xp-duration-readable{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}@media (min-width: 640px){.xp-duration-readable{font-size:1.5rem}}.xp-duration-input-wrapper{display:flex;align-items:center;gap:.5rem;background:hsl(var(--background));border:2px solid hsl(var(--primary) / .3);border-radius:var(--radius);padding:.25rem .75rem;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.xp-duration-input-wrapper:focus-within{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .15)}.xp-duration-number-input{flex:1;border:none;background:transparent;font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));width:100%;padding:.5rem 0;font-variant-numeric:tabular-nums}.xp-duration-number-input:focus{outline:none}.xp-duration-number-input::-webkit-inner-spin-button,.xp-duration-number-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.xp-duration-number-input[type=number]{-moz-appearance:textfield}.xp-duration-unit{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));flex-shrink:0}.xp-duration-presets{display:flex;flex-wrap:wrap;gap:.375rem}.xp-preset-btn{padding:.375rem .625rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));background:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:.375rem;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.xp-preset-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground));border-color:hsl(var(--primary) / .3)}.xp-preset-btn.xp-preset-active{background:hsl(var(--primary) / .15);color:hsl(var(--primary));border-color:hsl(var(--primary) / .5)}.xp-active-bonuses{display:flex;flex-wrap:wrap;gap:.375rem;min-height:1.5rem}.xp-bonus-pill{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:700;border-radius:1rem;text-transform:uppercase;letter-spacing:.03em}.xp-bonus-total{background:hsl(var(--cute-yellow) / .2);color:hsl(var(--cute-yellow));border:1px solid hsl(var(--cute-yellow) / .4)}.xp-bonus-mastery{background:hsl(var(--cute-purple) / .2);color:hsl(var(--cute-purple));border:1px solid hsl(var(--cute-purple) / .4)}.xp-bonus-environmental{background:hsl(var(--cute-teal) / .2);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .4)}.xp-bonus-gaming{background:hsl(var(--primary) / .2);color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .4)}.xp-bonus-manual{background:hsl(var(--cute-orange) / .2);color:hsl(var(--cute-orange));border:1px solid hsl(var(--cute-orange) / .4)}.xp-estimate-section{padding:1.25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,hsl(var(--primary) / .05),transparent)}@media (min-width: 640px){.xp-estimate-section{padding:1.5rem}}.xp-estimate-hero{display:flex;flex-direction:column;align-items:center;gap:.125rem}.xp-estimate-hero-value{font-size:2.5rem;font-weight:800;color:hsl(var(--foreground));line-height:1;font-variant-numeric:tabular-nums}@media (min-width: 640px){.xp-estimate-hero-value{font-size:3rem}}.xp-estimate-hero-label{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.1em}.xp-estimate-mini-breakdown{display:flex;flex-direction:column;gap:.25rem;width:100%;max-width:10rem}.xp-mini-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem .5rem;font-size:.6875rem;background:hsl(var(--surface-1) / .5);border-radius:.25rem}.xp-mini-label{color:hsl(var(--muted-foreground));font-weight:500}.xp-mini-value{font-weight:700;font-variant-numeric:tabular-nums}.xp-mini-environmental .xp-mini-value{color:hsl(var(--cute-teal))}.xp-mini-gaming .xp-mini-value{color:hsl(var(--primary))}.xp-mini-mastery .xp-mini-value{color:hsl(var(--cute-purple))}.xp-cap-indicator{font-size:.625rem;font-weight:600;color:hsl(var(--cute-yellow));padding:.125rem .5rem;background:hsl(var(--cute-yellow) / .15);border-radius:.25rem}.xp-context-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.75rem;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-context-card{padding:.875rem}}.xp-context-card:hover{border-color:hsl(var(--border) / .8)}.xp-context-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}@media (min-width: 768px){.xp-context-card-header{margin-bottom:.625rem}}.xp-context-card-title{font-size:1rem;font-weight:600;margin:0}@media (min-width: 768px){.xp-context-card-title{font-size:1.125rem}}.xp-context-card-body{display:flex;flex-direction:column;gap:.25rem}@media (min-width: 768px){.xp-context-card-body{gap:.375rem}}.xp-context-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8125rem}@media (min-width: 768px){.xp-context-row{font-size:.875rem}}.xp-context-label{color:hsl(var(--muted-foreground));flex-shrink:0}.xp-context-value{font-weight:500;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-context-value.active{color:hsl(var(--cute-teal))}.xp-context-value.inactive{color:hsl(var(--muted-foreground))}.xp-context-row-location{position:relative;padding-right:1.75rem}.xp-location-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);padding:.125rem;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.xp-location-toggle:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.xp-location-toggle:active{transform:scale(.95)}.xp-context-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:.5rem}@media (min-width: 768px){.xp-context-hint{font-size:.75rem}}.xp-context-empty{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.xp-context-empty{font-size:.875rem}}.xp-toggle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.xp-toggle-content{flex:1}.xp-toggle-title{font-size:1rem;font-weight:600;margin:0 0 .125rem}@media (min-width: 768px){.xp-toggle-title{font-size:1.125rem}}.xp-toggle-description{font-size:.8125rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 768px){.xp-toggle-description{font-size:.875rem}}.xp-toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.xp-toggle-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.25rem;height:1.25rem;background-color:hsl(var(--muted));border-radius:1rem;position:relative;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-toggle-checkbox{width:2rem;height:1.125rem}}.xp-toggle-checkbox:checked{background-color:hsl(var(--primary))}.xp-toggle-checkbox:before{content:"";position:absolute;width:.875rem;height:.875rem;background-color:#fff;border-radius:50%;top:.1875rem;left:.1875rem;transition:transform var(--duration-fast) var(--ease-out-cubic);box-shadow:0 1px 2px #0003}@media (min-width: 768px){.xp-toggle-checkbox:before{width:.75rem;height:.75rem;top:.1875rem;left:.1875rem}}.xp-toggle-checkbox:checked:before{transform:translate(1rem)}@media (min-width: 768px){.xp-toggle-checkbox:checked:before{transform:translate(.875rem)}}.xp-toggle-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-toggle-label{font-size:.875rem}}.xp-toggle-switch--compact{gap:.375rem}.xp-toggle-switch--compact .xp-toggle-checkbox{width:1.75rem;height:1rem}.xp-toggle-switch--compact .xp-toggle-checkbox:before{width:.625rem;height:.625rem;top:.1875rem;left:.1875rem}.xp-toggle-switch--compact .xp-toggle-checkbox:checked:before{transform:translate(.75rem)}.xp-toggle-switch--compact .xp-toggle-label{font-size:.6875rem}@media (min-width: 768px){.xp-toggle-switch--compact .xp-toggle-label{font-size:.75rem}}.xp-config-row-toggle .xp-config-control{flex-direction:row;align-items:center;gap:.5rem}.xp-config-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:.375rem;padding:.375rem 1.5rem .375rem .5rem;font-size:.8125rem;font-weight:500;color:hsl(var(--foreground));cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;min-width:7rem}.xp-config-select:hover{border-color:hsl(var(--primary) / .5);background-color:hsl(var(--surface-2) / .8)}.xp-config-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}@media (min-width: 768px){.xp-config-select{font-size:.875rem;padding:.5rem 1.75rem .5rem .625rem;min-width:8rem}}.xp-manual-overrides{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}@media (min-width: 768px){.xp-manual-overrides{gap:1rem;margin-top:1rem;padding-top:1rem}}.xp-override-field{display:flex;flex-direction:column;gap:.375rem}.xp-override-label{font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-override-label{font-size:.875rem}}.xp-override-input{width:100%;padding:.625rem .75rem;font-size:.875rem;background-color:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-override-input{padding:.5rem .75rem}}.xp-override-input:hover:not(:focus){border-color:hsl(var(--muted-foreground) / .5)}.xp-override-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.xp-override-hint{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.xp-override-hint{font-size:.75rem}}.xp-manual-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.xp-manual-hint{font-size:.75rem}}.xp-estimate-card{background:linear-gradient(135deg,hsl(var(--surface-1)),hsl(var(--surface-2) / .7));border:1px dashed hsl(var(--primary) / .4);position:relative;overflow:hidden}.xp-estimate-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsl(var(--primary) / .6),hsl(var(--cute-yellow) / .6))}.xp-estimate-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}@media (min-width: 768px){.xp-estimate-header{margin-bottom:1rem}}.xp-estimate-title{font-size:.8125rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-estimate-title{font-size:.875rem}}.xp-estimate-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:700;color:hsl(var(--primary));background:hsl(var(--primary) / .15);border:1px solid hsl(var(--primary) / .3);border-radius:.25rem;text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.xp-estimate-badge{font-size:.6875rem;padding:.125rem .625rem}}.xp-estimate-total{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 0;margin-bottom:.75rem;background:linear-gradient(180deg,hsl(var(--primary) / .1),transparent);border-radius:.5rem}@media (min-width: 768px){.xp-estimate-total{padding:1rem 0;margin-bottom:1rem}}.xp-estimate-value{font-size:1.75rem;font-weight:800;color:hsl(var(--foreground));line-height:1}@media (min-width: 768px){.xp-estimate-value{font-size:2rem}}.xp-estimate-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.xp-estimate-label{font-size:.75rem}}.xp-estimate-breakdown{display:flex;flex-direction:column;gap:.375rem}@media (min-width: 768px){.xp-estimate-breakdown{gap:.5rem}}.xp-estimate-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.375rem .5rem;background-color:hsl(var(--surface-1) / .5);border-radius:.25rem;font-size:.75rem}@media (min-width: 768px){.xp-estimate-row{padding:.5rem .625rem;font-size:.8125rem}}.xp-estimate-row-label{color:hsl(var(--muted-foreground));font-weight:500}.xp-estimate-row-value{font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.xp-estimate-row.bonus-environmental .xp-estimate-row-label,.xp-estimate-row.bonus-environmental .xp-estimate-row-value{color:hsl(var(--cute-teal))}.xp-estimate-row.bonus-gaming .xp-estimate-row-label,.xp-estimate-row.bonus-gaming .xp-estimate-row-value{color:hsl(var(--primary))}.xp-estimate-row.bonus-mastery .xp-estimate-row-label,.xp-estimate-row.bonus-mastery .xp-estimate-row-value{color:hsl(var(--cute-purple))}.xp-estimate-hint{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .5);font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;font-style:italic}@media (min-width: 768px){.xp-estimate-hint{margin-top:1rem;padding-top:1rem;font-size:.75rem}}.xp-calculate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.xp-calculate-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:.5rem}@media (min-width: 768px){.xp-calculate-hint{font-size:.75rem}}.xp-calculate-hint-warning{color:hsl(var(--cute-yellow) / .9)}.xp-apply-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:0}.xp-apply-button{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-weight:600;background:linear-gradient(135deg,hsl(var(--cute-green) / .9),hsl(var(--cute-green) / .7));color:hsl(var(--surface-2));border:2px solid hsl(var(--cute-green) / .3);border-radius:var(--radius);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic),opacity var(--duration-fast) var(--ease-out-cubic);box-shadow:0 2px 8px hsl(var(--cute-green) / .3)}@media (min-width: 768px){.xp-apply-button{padding:.75rem 1rem;font-size:.875rem}}.xp-apply-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--cute-green) / .4);opacity:.95}.xp-apply-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px hsl(var(--cute-green) / .3)}.xp-apply-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.xp-apply-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;margin:0}@media (min-width: 768px){.xp-apply-hint{font-size:.75rem}}.xp-apply-disabled{padding:.75rem;background-color:hsl(var(--surface-2) / .5);border:1px dashed hsl(var(--border));border-radius:var(--radius)}.xp-apply-disabled-message{font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center;margin:0}@media (min-width: 768px){.xp-apply-disabled-message{font-size:.875rem}}.xp-calculate-section{margin-top:.5rem}@media (min-width: 768px){.xp-calculate-section{margin-top:.75rem}}.xp-calculate-button{width:100%;padding:.875rem 1rem;font-size:.9375rem;font-weight:600;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .8));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic),opacity var(--duration-fast) var(--ease-out-cubic);box-shadow:0 2px 8px hsl(var(--primary) / .3)}@media (min-width: 768px){.xp-calculate-button{padding:.75rem 1rem;font-size:.875rem}}.xp-calculate-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary) / .4);opacity:.95}.xp-calculate-button:active{transform:translateY(0);box-shadow:0 2px 6px hsl(var(--primary) / .3)}.xp-results-section{display:flex;flex-direction:column;gap:.875rem;margin-top:.5rem}@media (min-width: 768px){.xp-results-section{gap:1rem;margin-top:.75rem}}.xp-total-card{background:linear-gradient(135deg,hsl(var(--primary) / .15),hsl(var(--surface-2)));border:2px solid hsl(var(--primary) / .3);border-radius:var(--radius);padding:1rem;text-align:center;box-shadow:0 4px 12px hsl(var(--primary) / .15)}@media (min-width: 768px){.xp-total-card{padding:1.25rem}}.xp-total-label{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:.25rem}@media (min-width: 768px){.xp-total-label{font-size:.875rem}}.xp-total-value{font-size:2rem;font-weight:800;color:hsl(var(--foreground));line-height:1;margin-bottom:.375rem;animation:countUp var(--duration-normal) var(--ease-out-cubic)}@media (min-width: 768px){.xp-total-value{font-size:2.5rem}}.xp-total-multiplier{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.xp-total-multiplier{font-size:.875rem}}.xp-total-multiplier strong{color:hsl(var(--foreground));font-weight:700}.xp-total-applied{font-size:.75rem;color:hsl(var(--cute-green));margin-top:.5rem;font-weight:500}@media (min-width: 768px){.xp-total-applied{font-size:.875rem}}.xp-breakdown-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.xp-breakdown-card{padding:1rem}}.xp-breakdown-title{font-size:.8125rem;font-weight:600;margin:0 0 .75rem}@media (min-width: 768px){.xp-breakdown-title{font-size:.875rem;margin-bottom:1rem}}.xp-breakdown-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.625rem 0;border-bottom:1px solid hsl(var(--border))}@media (min-width: 768px){.xp-breakdown-row{padding:.75rem 0}}.xp-breakdown-row:last-child{border-bottom:none}.xp-breakdown-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.xp-breakdown-name{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-breakdown-name{font-size:.875rem}}.xp-breakdown-name.bonus-environmental,.xp-breakdown-amount.bonus-environmental{color:hsl(var(--cute-teal))}.xp-breakdown-name.bonus-gaming,.xp-breakdown-amount.bonus-gaming{color:hsl(var(--primary))}.xp-breakdown-name.bonus-mastery,.xp-breakdown-amount.bonus-mastery{color:hsl(var(--cute-purple))}.xp-breakdown-detail{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.xp-breakdown-detail{font-size:.75rem}}.xp-breakdown-detail-list{display:flex;flex-direction:column;gap:.125rem;margin-top:.25rem}.xp-breakdown-detail-item{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.xp-breakdown-detail-item{font-size:.75rem}}.xp-breakdown-amount{font-size:.8125rem;font-weight:700;color:hsl(var(--foreground));flex-shrink:0}@media (min-width: 768px){.xp-breakdown-amount{font-size:.875rem}}.xp-no-bonuses{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic;padding:.625rem 0;text-align:center}@media (min-width: 768px){.xp-no-bonuses{font-size:.875rem;padding:.75rem 0}}.xp-donut-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.xp-donut-card{padding:1rem}}.xp-donut-title{font-size:.8125rem;font-weight:600;margin:0 0 .75rem}@media (min-width: 768px){.xp-donut-title{font-size:.875rem;margin-bottom:1rem}}.xp-donut-content{display:flex;flex-direction:column;align-items:center;gap:1rem}@media (min-width: 768px){.xp-donut-content{flex-direction:row;gap:1.5rem}}.xp-donut-chart{position:relative;width:6rem;height:6rem;flex-shrink:0}@media (min-width: 768px){.xp-donut-chart{width:8rem;height:8rem}}.xp-donut-ring{width:100%;height:100%;border-radius:50%;transition:transform var(--duration-slow) var(--ease-out-cubic)}.xp-donut-chart:hover .xp-donut-ring{transform:scale(1.05)}.xp-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;background-color:hsl(var(--surface-2));border-radius:50%;display:flex;align-items:center;justify-content:center}@media (min-width: 768px){.xp-donut-center{width:4rem;height:4rem}}.xp-donut-center-value{font-size:.875rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-donut-center-value{font-size:1rem}}.xp-donut-legend{display:flex;flex-direction:column;gap:.375rem;width:100%}@media (min-width: 768px){.xp-donut-legend{gap:.5rem}}.xp-donut-legend-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem}@media (min-width: 768px){.xp-donut-legend-item{font-size:.875rem}}.xp-donut-legend-left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.xp-donut-legend-color{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}@media (min-width: 768px){.xp-donut-legend-color{width:.75rem;height:.75rem}}.xp-donut-legend-label{color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-donut-legend-right{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.xp-donut-legend-value{font-weight:500}.xp-donut-legend-percent{color:hsl(var(--muted-foreground));width:2.5rem;text-align:right}@media (min-width: 768px){.xp-donut-legend-percent{width:3rem}}.xp-donut-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:.75rem;text-align:center}@media (min-width: 768px){.xp-donut-hint{font-size:.75rem;margin-top:1rem}}.xp-cap-warning{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background-color:hsl(var(--cute-yellow) / .15);border:1px solid hsl(var(--cute-yellow) / .4);border-radius:var(--radius)}@media (min-width: 768px){.xp-cap-warning{padding:.75rem 1rem}}.xp-cap-warning-icon{font-size:1rem;flex-shrink:0}@media (min-width: 768px){.xp-cap-warning-icon{font-size:1.125rem}}.xp-cap-warning-text{font-size:.75rem;color:hsl(var(--cute-yellow) / .9)}@media (min-width: 768px){.xp-cap-warning-text{font-size:.875rem}}.xp-level-up-celebration{position:relative;overflow:hidden}.xp-level-up-pulse{animation:levelUpPulse .6s var(--ease-spring)}.xp-confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.xp-confetti{position:absolute;width:.5rem;height:.5rem;animation:confettiFall 3s var(--ease-out-cubic) forwards}@media (min-width: 768px){.xp-confetti{width:.625rem;height:.625rem}}.xp-confetti:nth-child(1){left:10%;animation-delay:0s;background-color:hsl(var(--cute-pink))}.xp-confetti:nth-child(2){left:20%;animation-delay:.1s;background-color:hsl(var(--cute-purple))}.xp-confetti:nth-child(3){left:30%;animation-delay:.2s;background-color:hsl(var(--cute-teal))}.xp-confetti:nth-child(4){left:40%;animation-delay:.3s;background-color:hsl(var(--cute-yellow))}.xp-confetti:nth-child(5){left:50%;animation-delay:.4s;background-color:hsl(var(--cute-orange))}.xp-confetti:nth-child(6){left:60%;animation-delay:.5s;background-color:hsl(var(--cute-pink))}.xp-confetti:nth-child(7){left:70%;animation-delay:.6s;background-color:hsl(var(--cute-purple))}.xp-confetti:nth-child(8){left:80%;animation-delay:.7s;background-color:hsl(var(--cute-teal))}.xp-confetti:nth-child(9){left:90%;animation-delay:.8s;background-color:hsl(var(--cute-yellow))}.xp-confetti:nth-child(10){left:15%;animation-delay:.15s;background-color:hsl(var(--cute-orange))}.xp-confetti:nth-child(11){left:25%;animation-delay:.25s;background-color:hsl(var(--cute-pink))}.xp-confetti:nth-child(12){left:35%;animation-delay:.35s;background-color:hsl(var(--cute-purple))}.xp-confetti:nth-child(13){left:45%;animation-delay:.45s;background-color:hsl(var(--cute-teal))}.xp-confetti:nth-child(14){left:55%;animation-delay:.55s;background-color:hsl(var(--cute-yellow))}.xp-confetti:nth-child(15){left:65%;animation-delay:.65s;background-color:hsl(var(--cute-orange))}.xp-config-section{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}@media (min-width: 768px){.xp-config-section{gap:1.5rem;margin-top:.75rem}}.xp-config-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background:linear-gradient(135deg,hsl(var(--surface-2)),hsl(var(--surface-1)));border:2px dashed hsl(var(--border));border-radius:var(--radius)}.xp-config-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}@media (min-width: 768px){.xp-config-empty-icon{font-size:4rem;margin-bottom:1.25rem}}.xp-config-empty-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}@media (min-width: 768px){.xp-config-empty-title{font-size:1.25rem}}.xp-config-empty-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;max-width:25rem}@media (min-width: 768px){.xp-config-empty-description{font-size:.9375rem}}.xp-config-card{transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.xp-config-card:hover{border-color:hsl(var(--border) / .8)}.xp-config-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.xp-config-section-icon{color:hsl(var(--primary));flex-shrink:0}.xp-config-section-title{font-size:.9375rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-config-section-title{font-size:1rem}}.xp-config-section-content{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.xp-config-section-content{gap:1rem}}.xp-config-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.625rem .75rem;background-color:hsl(var(--surface-1) / .5);border-radius:.5rem;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-config-row{padding:.75rem 1rem;gap:1.5rem}}.xp-config-row:hover{background-color:hsl(var(--surface-1))}.xp-config-label-group{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.xp-config-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.xp-config-label{font-size:.9375rem}}.xp-config-description{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.xp-config-description{font-size:.8125rem}}.xp-config-control{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.xp-config-value-display{font-size:1rem;font-weight:700;color:hsl(var(--foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.xp-config-value-out-of-range{color:hsl(var(--warning))}@media (min-width: 768px){.xp-config-value-display{font-size:1.125rem}}.xp-config-custom-input{width:3.5rem;min-width:3.5rem;max-width:3.5rem;flex-shrink:0;padding:.125rem .25rem;font-size:.875rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:hsl(var(--foreground));background-color:hsl(var(--background));border:2px solid hsl(var(--primary));border-radius:var(--radius);outline:none;text-align:right;transition:border-color .15s ease,box-shadow .15s ease}.xp-config-custom-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.xp-config-custom-input::-webkit-inner-spin-button,.xp-config-custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.xp-config-custom-input[type=number]{-moz-appearance:textfield}.xp-config-unlock-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;font-size:.875rem;opacity:.6;transition:opacity .15s ease,border-color .15s ease,background-color .15s ease}.xp-config-unlock-btn:hover{opacity:1;border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .1)}.xp-config-unlock-btn-active{opacity:1;border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .15)}.xp-config-unlock-btn-out-of-range{opacity:1;border-color:hsl(var(--warning));background-color:hsl(var(--warning) / .1)}.xp-config-default{font-size:.6875rem;color:hsl(var(--muted-foreground));white-space:nowrap}@media (min-width: 768px){.xp-config-default{font-size:.75rem}}.xp-config-info{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background-color:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius);margin-top:.5rem}@media (min-width: 768px){.xp-config-info{padding:1rem;gap:.75rem;margin-top:.75rem}}.xp-config-info-icon{font-size:1rem;flex-shrink:0}@media (min-width: 768px){.xp-config-info-icon{font-size:1.125rem}}.xp-config-info-text{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.5}@media (min-width: 768px){.xp-config-info-text{font-size:.8125rem}}.xp-config-row-modified{background-color:hsl(var(--primary) / .08);border-left:3px solid hsl(var(--primary));padding-left:.5rem}@media (min-width: 768px){.xp-config-row-modified{padding-left:.75rem}}.xp-config-app-specific{margin-left:.25rem;font-size:.875em;cursor:help}.xp-config-slider-container{display:flex;flex-direction:column;gap:.25rem;flex:1;width:100%}.xp-config-slider-marks{display:flex;position:relative;width:100%;height:1rem;font-size:.625rem;color:hsl(var(--muted-foreground))}.xp-config-slider-mark{position:absolute;transform:translate(-50%);white-space:nowrap;line-height:1}.xp-config-slider-wrapper{display:flex;align-items:center;gap:.75rem;width:100%;min-width:10rem}@media (min-width: 768px){.xp-config-slider-wrapper{gap:1rem;min-width:12rem}}.xp-config-value-modified{color:hsl(var(--primary))}.xp-config-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:.375rem;background:hsl(var(--surface-1));border-radius:.25rem;outline:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}.xp-config-slider:hover{background:hsl(var(--surface-2))}.xp-config-slider::-webkit-slider-runnable-track{height:.375rem;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary) / .5));border-radius:.25rem}.xp-config-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;background:hsl(var(--primary));border:2px solid hsl(var(--background));border-radius:50%;cursor:pointer;margin-top:-.3125rem;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);box-shadow:0 2px 4px #0003}@media (min-width: 768px){.xp-config-slider::-webkit-slider-thumb{width:1.125rem;height:1.125rem;margin-top:-.375rem}}.xp-config-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px hsl(var(--primary) / .4)}.xp-config-slider::-webkit-slider-thumb:active{transform:scale(1.1);box-shadow:0 1px 4px hsl(var(--primary) / .3)}.xp-config-slider::-moz-range-track{height:.375rem;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary) / .5));border-radius:.25rem}.xp-config-slider::-moz-range-thumb{width:1rem;height:1rem;background:hsl(var(--primary));border:2px solid hsl(var(--background));border-radius:50%;cursor:pointer;-moz-transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);box-shadow:0 2px 4px #0003}@media (min-width: 768px){.xp-config-slider::-moz-range-thumb{width:1.125rem;height:1.125rem}}.xp-config-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 8px hsl(var(--primary) / .4)}.xp-config-slider::-moz-range-thumb:active{transform:scale(1.1);box-shadow:0 1px 4px hsl(var(--primary) / .3)}.xp-config-slider:focus{outline:none}.xp-config-slider:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px hsl(var(--primary) / .3),0 2px 4px #0003}.xp-config-slider:focus::-moz-range-thumb{box-shadow:0 0 0 3px hsl(var(--primary) / .3),0 2px 4px #0003}.xp-config-reset-section{display:flex;justify-content:center;padding:.75rem 0;margin-top:.5rem}@media (min-width: 768px){.xp-config-reset-section{padding:1rem 0;margin-top:.75rem}}.xp-config-reset-button{padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--destructive));background-color:transparent;border:2px solid hsl(var(--destructive) / .5);border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-config-reset-button{padding:.75rem 2rem;font-size:.9375rem}}.xp-config-reset-button:hover{background-color:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive))}.xp-config-reset-button:active{transform:scale(.98)}.xp-config-reset-button:focus{outline:none;box-shadow:0 0 0 3px hsl(var(--destructive) / .2)}.xp-mastery-cheat-card{grid-column:span 1}@media (min-width: 768px){.xp-mastery-cheat-card{grid-column:span 2}}.xp-mastery-icon{display:inline-block;vertical-align:middle;margin-right:.5rem;color:hsl(var(--cute-yellow))}.xp-mastery-content{display:flex;flex-direction:column;gap:1rem}.xp-mastery-progress{display:flex;flex-direction:column;gap:.75rem}.xp-mastery-stat{display:flex;flex-direction:column;gap:.25rem}.xp-mastery-label{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.xp-mastery-value{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.xp-mastery-bar{height:.5rem;background-color:hsl(var(--surface-2));border-radius:.25rem;overflow:hidden}.xp-mastery-bar-fill{height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-teal)));border-radius:.25rem;transition:width .3s var(--ease-out-cubic)}.xp-mastery-bar-xp{background:linear-gradient(90deg,hsl(var(--cute-purple)),hsl(var(--cute-pink)))}.xp-mastery-buttons{display:flex;flex-wrap:wrap;gap:.5rem}@media (min-width: 768px){.xp-mastery-buttons{gap:.75rem}}.xp-mastery-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.xp-mastery-btn{padding:.625rem 1rem;font-size:.8125rem}}.xp-mastery-btn:active{transform:scale(.98)}.xp-mastery-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.xp-mastery-btn-fill{color:#fff;background:linear-gradient(135deg,#944ce6,#3b82f6)}.xp-mastery-btn-fill:hover:not(:disabled){box-shadow:0 4px 12px #944ce666}.xp-mastery-btn-prestige{color:#fff;background:linear-gradient(135deg,#fbbd23,#e07a06)}.xp-mastery-btn-prestige:hover:not(:disabled){box-shadow:0 4px 12px #fbbd2366}.xp-mastery-btn-reset{color:#fff;background:linear-gradient(135deg,hsl(var(--destructive)),#af1d1d)}.xp-mastery-btn-reset:hover:not(:disabled){box-shadow:0 4px 12px hsl(var(--destructive) / .4)}.xp-mastery-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;padding-top:.25rem}.xp-config-placeholder{font-size:.875rem;color:hsl(var(--muted-foreground));font-style:italic;text-align:center;padding:1rem;background-color:hsl(var(--surface-1) / .5);border-radius:var(--radius)}.xp-formula-help-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:.375rem;padding:.125rem;background:transparent;border:1px solid hsl(var(--border));border-radius:50%;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic);vertical-align:middle}.xp-formula-help-btn:hover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .5);color:hsl(var(--primary))}.xp-formula-help-btn:focus{outline:none;box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.xp-formula-details{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,hsl(var(--surface-2)),hsl(var(--surface-1)));border:1px solid hsl(var(--border));border-radius:var(--radius);animation:formulaSlideIn .2s var(--ease-out-cubic)}@keyframes formulaSlideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.xp-formula-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.xp-formula-header span{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}.xp-formula-collapse-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}.xp-formula-collapse-btn:hover{background:hsl(var(--surface-1));color:hsl(var(--foreground))}.xp-formula-list{display:flex;flex-direction:column;gap:.5rem}.xp-formula-item{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center;padding:.5rem .625rem;background:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .5);border-radius:.375rem;transition:all var(--duration-fast) var(--ease-out-cubic)}.xp-formula-item:hover{background:hsl(var(--surface-1));border-color:hsl(var(--border))}.xp-formula-active{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .4)}.xp-formula-active .xp-formula-name{color:hsl(var(--primary));font-weight:600}.xp-formula-name{font-size:.75rem;font-weight:500;color:hsl(var(--foreground));min-width:4.5rem}.xp-formula-code{font-size:.6875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:hsl(var(--cute-teal));background:hsl(var(--surface-1) / .8);padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.xp-formula-desc{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:right;white-space:nowrap}.xp-formula-chart-container{margin-top:.75rem;padding:.75rem;background:hsl(var(--background) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius)}.xp-formula-chart-inline{margin-top:.5rem;margin-bottom:.75rem;padding:.75rem;background:hsl(var(--surface-1) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius)}.xp-formula-chart-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.xp-formula-chart-title{font-size:.75rem;font-weight:600;color:hsl(var(--primary))}.xp-formula-chart-formula{font-size:.6875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:hsl(var(--cute-teal));background:hsl(var(--surface-1) / .8);padding:.125rem .375rem;border-radius:.25rem;display:inline-block}.xp-formula-chart{display:flex;flex-direction:column;align-items:center;gap:.375rem}.xp-formula-chart-svg{width:100%;height:auto;max-height:120px}.xp-formula-chart-labels{display:flex;justify-content:space-between;width:100%;padding:0 .25rem}.xp-chart-axis-label{font-size:.625rem;color:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.xp-chart-label{font-size:.5625rem;fill:hsl(var(--muted-foreground));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (max-width: 480px){.xp-formula-item{grid-template-columns:1fr;gap:.25rem}.xp-formula-desc{text-align:left}}@media (max-width: 767px){.xp-calculator-tabs{gap:.375rem;margin-bottom:.75rem}.xp-calculator-tab{padding:.5rem .75rem;font-size:.75rem;gap:.375rem}.xp-character-display{gap:.75rem}.xp-character-info{gap:.5rem}.xp-character-avatar{width:2.5rem;height:2.5rem}.xp-character-name{font-size:.875rem}.xp-character-class{font-size:.75rem}.xp-results-empty{padding:2rem 1rem}.xp-results-empty-icon{font-size:2rem;margin-bottom:.75rem}.xp-results-empty-title{font-size:.875rem}.xp-results-empty-description{font-size:.75rem}.xp-breakdown-grid{gap:.5rem}.xp-breakdown-item{padding:.5rem}.xp-breakdown-label{font-size:.6875rem}.xp-breakdown-value{font-size:.875rem}.xp-formula-chart-container{padding:.5rem}.xp-formula-chart-header{gap:.25rem}.xp-formula-chart-title{font-size:.6875rem}.xp-formula-chart-formula{font-size:.625rem;padding:.125rem .25rem}.xp-formula-chart-svg{max-height:100px}.xp-chart-axis-label{font-size:.5625rem}.xp-formula-item{padding:.5rem;gap:.375rem}.xp-formula-code{font-size:.625rem;padding:.25rem .375rem}.xp-formula-desc{font-size:.625rem}.xp-settings-section{padding:.75rem}.xp-settings-title{font-size:.875rem}.xp-settings-description{font-size:.75rem}.xp-input-group{gap:.375rem}.xp-input-label{font-size:.75rem}.xp-override-grid{gap:.5rem;grid-template-columns:1fr}.xp-override-item{padding:.5rem}.xp-override-label{font-size:.6875rem}.xp-override-input{font-size:.75rem;padding:.375rem .5rem}.xp-activity-bonuses-grid{gap:.5rem;grid-template-columns:1fr}.xp-activity-bonus-item{padding:.5rem}.xp-activity-bonus-label{font-size:.6875rem}.xp-activity-bonus-input{font-size:.75rem;padding:.375rem .5rem}.xp-calculate-btn{padding:.625rem 1rem;font-size:.875rem}.xp-results-summary{gap:.75rem}.xp-results-total{padding:.75rem}.xp-results-total-label{font-size:.75rem}.xp-results-total-value{font-size:1.25rem}.xp-pie-chart-container{max-width:200px}.xp-rhythm-config-grid{gap:.5rem;grid-template-columns:1fr}.xp-rhythm-config-item{padding:.5rem}.xp-rhythm-config-label{font-size:.6875rem}.xp-rhythm-config-input{font-size:.75rem;padding:.375rem .5rem}}.stat-strategy-selector{width:100%;position:relative}.stat-strategy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.stat-strategy-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:.05em}.stat-strategy-info-wrapper{position:relative}.stat-strategy-info-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.stat-strategy-info-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.stat-strategy-info-btn:disabled{opacity:.5;cursor:not-allowed}.stat-strategy-info-icon{display:block}.stat-strategy-tooltip{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:90vw;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;animation:stat-strategy-tooltip-fade-in .2s ease}@keyframes stat-strategy-tooltip-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.stat-strategy-tooltip-content{padding:var(--space-4)}.stat-strategy-tooltip-content p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5}.stat-strategy-tooltip-content p:last-child{margin-bottom:0}.stat-strategy-tooltip-content ul{margin:var(--space-3) 0;padding-left:var(--space-5);list-style:none}.stat-strategy-tooltip-content li{margin-bottom:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.stat-strategy-tooltip-content li strong{color:var(--color-text-primary)}.stat-strategy-tooltip-note{margin-top:var(--space-3)!important;padding-top:var(--space-3);border-top:1px solid var(--color-border);font-style:italic;color:var(--color-text-tertiary)!important}.stat-strategy-tooltip-close{position:absolute;top:8px;right:8px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:18px;line-height:1;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.stat-strategy-tooltip-close:hover{background:var(--color-border);color:var(--color-text-primary)}.stat-strategy-dropdown-container{position:relative}.stat-strategy-dropdown{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.stat-strategy-dropdown:hover:not(.stat-strategy-dropdown-disabled){border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.stat-strategy-dropdown-open{border-color:var(--color-primary);border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 0 0 3px var(--color-primary-light)}.stat-strategy-dropdown-disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-elevated)}.stat-strategy-selected-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.stat-strategy-selected-label{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.stat-strategy-dropdown-arrow{flex-shrink:0;font-size:10px;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.stat-strategy-dropdown-open .stat-strategy-dropdown-arrow{transform:rotate(180deg)}.stat-strategy-options{position:absolute;top:calc(100% - 1px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;list-style:none;margin:0;padding:0;animation:stat-strategy-options-fade-in .2s ease}@keyframes stat-strategy-options-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.stat-strategy-option{border-bottom:1px solid var(--color-border-elevated)}.stat-strategy-option:last-child{border-bottom:none}.stat-strategy-option-selected{background:var(--color-primary-light)}.stat-strategy-option-button{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:transparent;border:none;cursor:pointer;transition:background var(--transition-fast);text-align:left}.stat-strategy-option-button:hover:not(:disabled){background:var(--color-surface-elevated)}.stat-strategy-option-selected .stat-strategy-option-button{background:var(--color-primary-light)}.stat-strategy-option-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.stat-strategy-option-content{flex:1;display:flex;flex-direction:column;gap:2px}.stat-strategy-option-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.stat-strategy-option-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.stat-strategy-option-check{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:700}.stat-strategy-option-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.stat-strategy-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);flex-shrink:0}.stat-strategy-badge-manual{background:#f59e0b;color:#fff}.stat-strategy-badge-smart{background:#8b5cf6;color:#fff}.stat-strategy-badge-balanced{background:#10b981;color:#fff}.stat-strategy-badge-primary{background:#3b82f6;color:#fff}.stat-strategy-badge-random{background:#ec4899;color:#fff}.stat-strategy-instructions{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.4}.stat-strategy-options::-webkit-scrollbar{width:6px}.stat-strategy-options::-webkit-scrollbar-track{background:var(--color-surface-elevated)}.stat-strategy-options::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.stat-strategy-options::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@media (max-width: 640px){.stat-strategy-tooltip{right:auto;left:0;width:calc(100vw - 48px)}}.xp-table-preview{margin-top:1rem}.xp-table-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .75rem}.xp-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.xp-table{width:100%;border-collapse:collapse;font-size:.8125rem}.xp-table th{padding:.5rem .75rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));background:hsl(var(--surface-2));border-bottom:1px solid hsl(var(--border));white-space:nowrap}.xp-table-header-level{width:60px}.xp-table-header-xp,.xp-table-header-compare{min-width:100px}.xp-table-header-diff{width:70px;text-align:center}.xp-table-header-selected,.xp-table-header-applied{display:inline-flex;align-items:center;gap:.375rem;font-weight:600;font-size:.6875rem;text-transform:none;letter-spacing:normal}.xp-table-color-dot{width:.5rem;height:.5rem;border-radius:2px;flex-shrink:0}.xp-table td{padding:.5rem .75rem;border-bottom:1px solid hsl(var(--border) / .5);vertical-align:middle}.xp-table-cell-level{font-weight:500;color:hsl(var(--foreground))}.xp-table-cell-xp{font-family:var(--font-mono);font-size:.75rem;color:hsl(var(--foreground))}.xp-table-level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;padding:.125rem .5rem;background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.6875rem;font-weight:600}.xp-table-diff-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;border-radius:var(--radius);font-size:.6875rem;font-weight:600;font-family:var(--font-mono)}.xp-table-diff-increase{background:hsl(var(--cute-red) / .15);color:hsl(var(--cute-red))}.xp-table-diff-decrease{background:hsl(var(--cute-green) / .15);color:hsl(var(--cute-green))}.xp-table-diff-same{background:hsl(var(--muted-foreground) / .15);color:hsl(var(--muted-foreground))}.xp-table-cell-diff{text-align:center}.xp-table tfoot tr{background:hsl(var(--surface-2))}.xp-table tfoot td{padding:.625rem .75rem;border-top:2px solid hsl(var(--border));border-bottom:none;font-weight:600}.xp-table-total-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.xp-table-comparison-note{margin:.75rem 0 0;font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.5}.xp-table-comparison-hint{display:block;font-style:italic;margin-top:.25rem}.xp-table-row:hover{background:hsl(var(--surface-2) / .5)}.xp-table-cell-selected{font-weight:500}.xp-table-cell-applied{color:hsl(var(--muted-foreground))}@media (max-width: 480px){.xp-table th,.xp-table td{padding:.375rem .5rem}.xp-table-cell-xp{font-size:.6875rem}.xp-table-header-selected,.xp-table-header-applied{font-size:.625rem}.xp-table-diff-badge{font-size:.625rem;padding:.125rem .25rem}.xp-table-level-badge{min-width:2rem;padding:.125rem .25rem;font-size:.625rem}}@media (prefers-color-scheme: dark){.xp-table th,.xp-table-level-badge{background:hsl(var(--surface-3))}}.uncapped-progression-panel .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.uncapped-progression-panel{background:hsl(var(--surface-1));border:1px solid hsl(var(--primary) / .3);overflow:hidden}.uncapped-panel-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color var(--duration-fast) var(--ease-out-cubic)}.uncapped-panel-header:hover{background:hsl(var(--surface-2))}.uncapped-panel-header:focus{outline:none;background:hsl(var(--surface-2))}.uncapped-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.uncapped-panel-header-left{display:flex;align-items:center;gap:.875rem}.uncapped-panel-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .2),hsl(var(--primary) / .2));border:1px solid hsl(var(--cute-purple) / .3);border-radius:.625rem;color:hsl(var(--cute-purple))}.uncapped-panel-header-text{display:flex;flex-direction:column;gap:.125rem}.uncapped-panel-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0;line-height:1.3}.uncapped-panel-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground))}.uncapped-panel-header-right{display:flex;align-items:center;gap:.75rem}.uncapped-panel-changes-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;background:hsl(var(--cute-orange) / .2);color:hsl(var(--cute-orange));border-radius:var(--radius)}.uncapped-panel-chevron{color:hsl(var(--muted-foreground));transition:transform var(--duration-fast) var(--ease-out-cubic)}.uncapped-panel-content{padding:0 1.25rem 1.25rem;animation:uncappedPanelExpand .2s var(--ease-out-cubic)}@keyframes uncappedPanelExpand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.uncapped-panel-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0 0 1.25rem;line-height:1.5}.uncapped-presets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem}@media (max-width: 480px){.uncapped-presets-grid{grid-template-columns:1fr}}.uncapped-preset-card{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background:hsl(var(--surface-2));border:2px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease-out-cubic)}.uncapped-preset-card:hover{border-color:hsl(var(--muted-foreground));background:hsl(var(--surface-3))}.uncapped-preset-card:focus{outline:none}.uncapped-preset-card:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.uncapped-preset-selected{border-color:hsl(var(--primary));background:hsl(var(--primary) / .08)}.uncapped-preset-selected:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .12)}.uncapped-preset-current.uncapped-preset-selected{border-color:hsl(var(--cute-purple));background:hsl(var(--cute-purple) / .1)}.uncapped-preset-header{display:flex;align-items:center;gap:.625rem}.uncapped-preset-color{width:.75rem;height:.75rem;border-radius:2px;flex-shrink:0}.uncapped-preset-name{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));flex:1}.uncapped-preset-current-badge{display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;background:hsl(var(--cute-purple));color:hsl(var(--background));border-radius:50%}.uncapped-preset-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4}.uncapped-chart-section{background:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.uncapped-chart-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem}.uncapped-panel-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.uncapped-apply-button{min-width:160px;background:linear-gradient(135deg,hsl(var(--cute-purple)),hsl(var(--primary)));border:none;color:hsl(var(--primary-foreground));font-weight:600}.uncapped-apply-button:hover{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-purple)));transform:translateY(-1px)}.uncapped-apply-hint{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0;text-align:center;font-style:italic}@media (prefers-reduced-motion: reduce){.uncapped-panel-content{animation:none}.uncapped-panel-header,.uncapped-preset-card,.uncapped-panel-chevron,.uncapped-apply-button{transition:none}}@media (prefers-color-scheme: dark){.uncapped-progression-panel{background:hsl(var(--surface-2))}.uncapped-preset-card,.uncapped-chart-section{background:hsl(var(--surface-3))}}.leveling-tab{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 768px){.leveling-tab{gap:2rem}}.leveling-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}@media (max-width: 640px){.leveling-header{flex-direction:column;align-items:stretch}.leveling-header-left,.leveling-header-selector{width:100%}}.leveling-header-left{display:flex;align-items:center;gap:1rem}.leveling-header-selector{display:flex;align-items:center;gap:.75rem;background:hsl(var(--surface-1));border:1px solid hsl(var(--primary) / .2);padding:.5rem .75rem;border-radius:.5rem;transition:border-color var(--duration-fast) var(--ease-out-cubic)}.leveling-header-selector:hover{border-color:hsl(var(--primary) / .4)}.leveling-header-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .2));border:2px solid hsl(var(--primary) / .3);border-radius:.75rem;color:hsl(var(--primary))}@media (min-width: 768px){.leveling-header-icon{width:3.5rem;height:3.5rem}}.leveling-header-text{flex:1}.leveling-header-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0;line-height:1.2}@media (min-width: 768px){.leveling-header-title{font-size:1.5rem}}.leveling-header-subtitle{font-size:.875rem;font-weight:400;color:hsl(var(--muted-foreground));margin:0;line-height:1.4}@media (min-width: 768px){.leveling-header-subtitle{font-size:1rem}}.leveling-empty-state{text-align:center;padding:3rem 2rem}.leveling-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5;display:flex;justify-content:center;align-items:center;color:hsl(var(--muted-foreground))}.leveling-empty-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}.leveling-empty-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0 0 1.5rem;line-height:1.5}.leveling-character-selector{margin-top:1.5rem;text-align:left}.leveling-selector-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.5rem}.leveling-select-wrapper{position:relative;display:inline-block;width:100%;max-width:400px}.leveling-select-inline{max-width:280px}@media (min-width: 1024px){.leveling-select-inline{max-width:320px}}.leveling-character-select{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.leveling-character-select:hover{border-color:hsl(var(--muted-foreground))}.leveling-character-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}.leveling-select-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none;transition:color var(--duration-fast) var(--ease-out-cubic)}.leveling-character-select:focus+.leveling-select-icon{color:hsl(var(--primary))}.leveling-selector-info{display:flex;align-items:center;gap:.5rem}.leveling-selector-info .leveling-selector-icon{color:hsl(var(--primary))}.leveling-selector-info .leveling-selector-label{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:0}@media (max-width: 640px){.leveling-header-selector{flex-wrap:wrap}.leveling-selector-info{width:100%;justify-content:center}.leveling-select-wrapper,.leveling-select-inline{max-width:100%}}.leveling-character-card{position:relative;background:linear-gradient(135deg,hsl(var(--surface-2)),hsl(var(--surface-3)));border-top:3px solid hsl(var(--primary));overflow:hidden}.leveling-character-card:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,hsl(var(--primary) / .05),transparent);pointer-events:none}.leveling-character-header{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.leveling-character-avatar{position:relative;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-purple) / .2));border:2px solid hsl(var(--primary) / .4);border-radius:1rem;flex-shrink:0}@media (min-width: 768px){.leveling-character-avatar{width:5rem;height:5rem}}.leveling-avatar-emoji{font-size:2rem;line-height:1}@media (min-width: 768px){.leveling-avatar-emoji{font-size:2.5rem}}.leveling-avatar-badge{position:absolute;bottom:-.5rem;right:-.5rem;background:linear-gradient(135deg,hsl(var(--cute-yellow)),hsl(var(--cute-orange)));color:hsl(var(--background));font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:.5rem;box-shadow:var(--shadow-sm);white-space:nowrap}@media (min-width: 768px){.leveling-avatar-badge{font-size:.75rem;padding:.25rem .5rem;bottom:-.625rem;right:-.625rem}}.leveling-character-info{flex:1;min-width:0}.leveling-character-name{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .25rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.leveling-character-name{font-size:1.5rem}}.leveling-character-class{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.leveling-character-class{font-size:1rem}}.leveling-quick-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.leveling-quick-stat{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius);font-size:.6875rem;font-weight:600;font-family:ui-monospace,monospace;background:hsl(var(--surface-1) / .6);border:1px solid hsl(var(--border) / .5);transition:all var(--duration-fast) var(--ease-out-cubic)}.leveling-quick-stat:hover{background:hsl(var(--surface-2));border-color:hsl(var(--border))}.leveling-quick-stat svg{flex-shrink:0}.leveling-quick-stat-hp{color:hsl(var(--destructive))}.leveling-quick-stat-hp:hover{background:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive) / .3)}.leveling-quick-stat-ac{color:hsl(var(--primary))}.leveling-quick-stat-ac:hover{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3)}.leveling-quick-stat-prof{color:#ffbf00}.leveling-quick-stat-prof:hover{background:#ffbf001a;border-color:#ffbf004d}.leveling-quick-stat-prestige{padding:.125rem .375rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--cute-purple) / .05));border-color:hsl(var(--cute-purple) / .3)}.leveling-quick-stat-prestige:hover{background:linear-gradient(135deg,hsl(var(--cute-purple) / .25),hsl(var(--cute-purple) / .1));border-color:hsl(var(--cute-purple) / .5)}@media (min-width: 768px){.leveling-quick-stat{font-size:.75rem;padding:.1875rem .625rem}}.leveling-xp-section{position:relative;z-index:1;margin-top:1.5rem}@media (min-width: 768px){.leveling-xp-section{margin-top:2rem}}.leveling-xp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.leveling-xp-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.leveling-xp-label{font-size:1rem}}.leveling-xp-values{font-family:ui-monospace,monospace;font-size:.875rem;font-weight:600;color:hsl(var(--primary))}@media (min-width: 768px){.leveling-xp-values{font-size:1rem}}.leveling-progress-bar{position:relative;height:.75rem;background:hsl(var(--background));border-radius:1rem;overflow:hidden;box-shadow:inset 0 1px 3px #0000004d}@media (min-width: 768px){.leveling-progress-bar{height:1rem}}.leveling-progress-fill{position:relative;height:100%;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--cute-purple)));border-radius:1rem;transition:width var(--duration-slow) var(--ease-out-cubic);overflow:hidden}.leveling-progress-fill:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsl(0 0% 100% / .2),transparent);animation:progressShimmer 2s infinite}.leveling-progress-glow{position:absolute;top:0;right:0;width:1rem;height:100%;background:linear-gradient(90deg,transparent,hsl(0 0% 100% / .3));filter:blur(4px)}.leveling-xp-hint{margin-top:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center}@media (min-width: 768px){.leveling-xp-hint{font-size:.875rem}}.leveling-milestones-card{background:hsl(var(--surface-2))}.leveling-milestones-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem}.leveling-milestones-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}@media (min-width: 480px){.leveling-milestones-grid{grid-template-columns:repeat(5,1fr);gap:.75rem}}@media (min-width: 768px){.leveling-milestones-grid{grid-template-columns:repeat(10,1fr);gap:.5rem}}.leveling-milestone{transition:border-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel)}.leveling-milestone:hover{border-color:hsl(var(--muted-foreground));transform:translateY(-1px) var(--gpu-accel)}.leveling-milestone{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius)}.leveling-milestone-dot{width:1.25rem;height:1.25rem;background:hsl(var(--muted));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.625rem;color:hsl(var(--muted-foreground))}.leveling-milestone-info{display:flex;flex-direction:column;align-items:center;gap:.125rem}.leveling-milestone-level{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground))}.leveling-milestone-xp{font-size:.5rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground) / .7)}.leveling-milestone-reached{background:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3)}.leveling-milestone-reached .leveling-milestone-dot{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.leveling-milestone-reached .leveling-milestone-level{color:hsl(var(--primary))}.leveling-milestone-reached .leveling-milestone-xp{color:hsl(var(--primary) / .7)}.leveling-milestone-check{font-size:.75rem}.leveling-milestone-current{background:hsl(var(--cute-yellow) / .1);border-color:hsl(var(--cute-yellow) / .5);box-shadow:0 0 0 2px hsl(var(--cute-yellow) / .1)}.leveling-milestone-current .leveling-milestone-dot{background:hsl(var(--cute-yellow));color:hsl(var(--background))}.leveling-milestone-current .leveling-milestone-level{color:hsl(var(--cute-yellow))}.leveling-milestone-star{font-size:.875rem}.leveling-xp-actions{background:hsl(var(--surface-2))}.leveling-strategy-card{background:hsl(var(--surface-1));border:1px solid hsl(var(--primary) / .3)}.leveling-strategy-note{margin:.75rem 0 0;font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic;line-height:1.4}.leveling-actions-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem}.leveling-quick-add{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.leveling-quick-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground))}.leveling-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 480px){.leveling-quick-grid{grid-template-columns:repeat(4,1fr)}}.leveling-custom-xp{display:flex;flex-direction:column;gap:.75rem}.leveling-add-button{width:100%}.leveling-xp-sources{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border))}.leveling-xp-sources-label{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground))}.leveling-xp-sources-grid{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 480px){.leveling-xp-sources-grid{grid-template-columns:repeat(3,1fr);display:grid}}.leveling-xp-source-wrapper{position:relative;display:flex;flex-direction:column}.leveling-xp-source-wrapper .leveling-xp-source-btn{width:100%}.leveling-xp-source-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border));padding:.5rem .75rem;border-radius:var(--radius);font-size:.75rem;line-height:1.4;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out-cubic),visibility var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);z-index:100;box-shadow:var(--shadow-md);pointer-events:none}.leveling-xp-source-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:hsl(var(--border))}.leveling-xp-source-wrapper:hover .leveling-xp-source-tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-2px)}.leveling-xp-source-btn{position:relative;height:auto!important;padding:.875rem 1rem!important;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;transition:all var(--duration-fast) var(--ease-out-cubic)}.leveling-xp-source-btn .button-icon{align-self:flex-start}.leveling-xp-source-content{display:flex;flex-direction:column;gap:.25rem;width:100%}.leveling-xp-source-label{font-size:.875rem;font-weight:500;line-height:1.2}.leveling-xp-source-amount{font-size:.75rem;font-weight:600;font-family:ui-monospace,monospace;opacity:.8}.leveling-xp-source-quest{border-color:hsl(var(--primary) / .5)!important;background:linear-gradient(135deg,hsl(var(--primary) / .1),transparent)!important}.leveling-xp-source-quest:hover:not(:disabled){border-color:hsl(var(--primary))!important;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--primary) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-quest .button-icon{color:hsl(var(--primary))!important}.leveling-xp-source-quest .leveling-xp-source-amount{color:hsl(var(--primary))}.leveling-xp-source-boss{border-color:hsl(var(--destructive) / .5)!important;background:linear-gradient(135deg,hsl(var(--destructive) / .1),transparent)!important}.leveling-xp-source-boss:hover:not(:disabled){border-color:hsl(var(--destructive))!important;background:linear-gradient(135deg,hsl(var(--destructive) / .2),hsl(var(--destructive) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-boss .button-icon{color:hsl(var(--destructive))!important}.leveling-xp-source-boss .leveling-xp-source-amount{color:hsl(var(--destructive))}.leveling-xp-source-exploration{border-color:hsl(var(--cute-teal) / .5)!important;background:linear-gradient(135deg,hsl(var(--cute-teal) / .1),transparent)!important}.leveling-xp-source-exploration:hover:not(:disabled){border-color:hsl(var(--cute-teal))!important;background:linear-gradient(135deg,hsl(var(--cute-teal) / .2),hsl(var(--cute-teal) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-exploration .button-icon{color:hsl(var(--cute-teal))!important}.leveling-xp-source-exploration .leveling-xp-source-amount{color:hsl(var(--cute-teal))}.leveling-xp-source-combat{border-color:hsl(var(--cute-orange) / .5)!important;background:linear-gradient(135deg,hsl(var(--cute-orange) / .1),transparent)!important}.leveling-xp-source-combat:hover:not(:disabled){border-color:hsl(var(--cute-orange))!important;background:linear-gradient(135deg,hsl(var(--cute-orange) / .2),hsl(var(--cute-orange) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-combat .button-icon{color:hsl(var(--cute-orange))!important}.leveling-xp-source-combat .leveling-xp-source-amount{color:hsl(var(--cute-orange))}.leveling-xp-source-crafting{border-color:hsl(var(--cute-yellow) / .5)!important;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .1),transparent)!important}.leveling-xp-source-crafting:hover:not(:disabled){border-color:hsl(var(--cute-yellow))!important;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .2),hsl(var(--cute-yellow) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-crafting .button-icon{color:hsl(var(--cute-yellow))!important}.leveling-xp-source-crafting .leveling-xp-source-amount{color:hsl(var(--cute-yellow))}.leveling-xp-source-social{border-color:hsl(var(--cute-pink) / .5)!important;background:linear-gradient(135deg,hsl(var(--cute-pink) / .1),transparent)!important}.leveling-xp-source-social:hover:not(:disabled){border-color:hsl(var(--cute-pink))!important;background:linear-gradient(135deg,hsl(var(--cute-pink) / .2),hsl(var(--cute-pink) / .05))!important;transform:translateY(-1px)}.leveling-xp-source-social .button-icon{color:hsl(var(--cute-pink))!important}.leveling-xp-source-social .leveling-xp-source-amount{color:hsl(var(--cute-pink))}.leveling-xp-source-btn:disabled{opacity:.5;cursor:not-allowed}.leveling-pending-badge-card{background:linear-gradient(135deg,hsl(var(--cute-yellow) / .15),hsl(var(--cute-orange) / .1));border:2px solid hsl(var(--cute-yellow) / .5);position:relative;overflow:hidden}@keyframes pendingBadgePulse{0%,to{box-shadow:0 0 hsl(var(--cute-yellow) / .4)}50%{box-shadow:0 0 0 8px hsl(var(--cute-yellow) / 0)}}.leveling-pending-badge-card{animation:pendingBadgePulse 2s ease-in-out infinite}.leveling-pending-badge-content{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.leveling-pending-badge-icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .3),hsl(var(--cute-orange) / .3));border-radius:.75rem;color:hsl(var(--cute-yellow));flex-shrink:0}.leveling-pending-badge-text{flex:1;min-width:0}.leveling-pending-badge-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.leveling-pending-badge-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.5}.leveling-apply-stats-button{width:100%;background:linear-gradient(135deg,hsl(var(--cute-yellow)),hsl(var(--cute-orange)));border:none;color:hsl(var(--background));font-weight:600}.leveling-apply-stats-button:hover{background:linear-gradient(135deg,hsl(var(--cute-orange)),hsl(var(--cute-yellow)));transform:translateY(-1px)}.leveling-confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.leveling-confetti{position:absolute;width:.5rem;height:.5rem;top:-1rem;animation:levelingConfettiFall 3s var(--ease-out-cubic) forwards}@media (min-width: 768px){.leveling-confetti{width:.625rem;height:.625rem}}.leveling-confetti:nth-child(1){left:10%;animation-delay:0s;background-color:hsl(var(--cute-pink))}.leveling-confetti:nth-child(2){left:20%;animation-delay:.1s;background-color:hsl(var(--cute-purple))}.leveling-confetti:nth-child(3){left:30%;animation-delay:.2s;background-color:hsl(var(--cute-teal))}.leveling-confetti:nth-child(4){left:40%;animation-delay:.3s;background-color:hsl(var(--cute-yellow))}.leveling-confetti:nth-child(5){left:50%;animation-delay:.4s;background-color:hsl(var(--cute-orange))}.leveling-confetti:nth-child(6){left:60%;animation-delay:.5s;background-color:hsl(var(--cute-pink))}.leveling-confetti:nth-child(7){left:70%;animation-delay:.6s;background-color:hsl(var(--cute-purple))}.leveling-confetti:nth-child(8){left:80%;animation-delay:.7s;background-color:hsl(var(--cute-teal))}.leveling-confetti:nth-child(9){left:90%;animation-delay:.8s;background-color:hsl(var(--cute-yellow))}.leveling-confetti:nth-child(10){left:15%;animation-delay:.15s;background-color:hsl(var(--cute-orange))}.leveling-confetti:nth-child(11){left:25%;animation-delay:.25s;background-color:hsl(var(--cute-pink))}.leveling-confetti:nth-child(12){left:35%;animation-delay:.35s;background-color:hsl(var(--cute-purple))}.leveling-confetti:nth-child(13){left:45%;animation-delay:.45s;background-color:hsl(var(--cute-teal))}.leveling-confetti:nth-child(14){left:55%;animation-delay:.55s;background-color:hsl(var(--cute-yellow))}.leveling-confetti:nth-child(15){left:65%;animation-delay:.65s;background-color:hsl(var(--cute-orange))}.leveling-mastery-card{background:linear-gradient(135deg,hsl(var(--surface-2)),hsl(var(--surface-3)));border-top:3px solid hsl(var(--cute-purple))}.leveling-mastery-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.leveling-mastery-icon{color:hsl(var(--cute-purple))}.leveling-mastery-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin:0}.leveling-mastery-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;gap:.5rem}.leveling-mastery-empty-icon{color:hsl(var(--muted-foreground));opacity:.5}.leveling-mastery-empty-text{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0}.leveling-mastery-empty-hint{font-size:.75rem;color:hsl(var(--muted-foreground) / .7);margin:0}.leveling-mastery-content{display:flex;flex-direction:column;gap:1rem}.leveling-mastery-track-info{padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .5)}.leveling-mastery-track-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.leveling-mastery-track-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.leveling-mastery-track-artist{font-size:.875rem;color:hsl(var(--muted-foreground));margin:.25rem 0 0}.leveling-mastery-listen-count{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground));padding-top:.5rem}.leveling-mastery-listen-count svg{color:hsl(var(--cute-teal))}.leveling-mastery-no-listens{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground));padding:.75rem;background:hsl(var(--surface-1) / .5);border-radius:var(--radius);border:1px dashed hsl(var(--border))}.leveling-mastery-no-listens svg{color:hsl(var(--muted-foreground) / .7);flex-shrink:0}@media (max-width: 767px){.leveling-tab{gap:.75rem}.leveling-header{flex-direction:column;align-items:stretch;gap:.75rem}.leveling-header-left{width:100%}.leveling-header-selector{width:100%;flex-wrap:wrap}.leveling-header-icon{width:2.5rem;height:2.5rem}.leveling-header-title{font-size:1rem}.leveling-header-subtitle{font-size:.75rem}.leveling-selector-info{width:100%;justify-content:center}.leveling-select-wrapper,.leveling-select-inline{max-width:100%}.leveling-empty-state{padding:2rem 1rem}.leveling-empty-icon{font-size:3rem;margin-bottom:.75rem}.leveling-empty-title{font-size:1rem}.leveling-empty-description{font-size:.75rem}.leveling-character-selector{margin-top:1rem}.leveling-selector-label{font-size:.75rem;margin-bottom:.375rem}.leveling-character-select{padding:.625rem 2.25rem .625rem .75rem;font-size:.75rem}.leveling-character-header{gap:.75rem}.leveling-character-avatar{width:3rem;height:3rem}.leveling-avatar-emoji{font-size:1.5rem}.leveling-avatar-badge{font-size:.5625rem;padding:.125rem .25rem;bottom:-.375rem;right:-.375rem}.leveling-character-name{font-size:1rem}.leveling-character-class{font-size:.75rem}.leveling-quick-stats{gap:.375rem;margin-top:.375rem}.leveling-quick-stat{font-size:.625rem;padding:.125rem .375rem}.leveling-xp-section{margin-top:1rem}.leveling-xp-header{margin-bottom:.5rem}.leveling-xp-label,.leveling-xp-values{font-size:.75rem}.leveling-progress-bar{height:.625rem}.leveling-xp-hint{font-size:.6875rem;margin-top:.375rem}.leveling-milestones-card{padding:.75rem}.leveling-milestones-title{font-size:.875rem;margin-bottom:.75rem}.leveling-milestones-grid{gap:.375rem;grid-template-columns:repeat(5,1fr)}.leveling-milestone{padding:.375rem .125rem}.leveling-milestone-dot{width:1rem;height:1rem;font-size:.5625rem}.leveling-milestone-level{font-size:.5625rem}.leveling-milestone-xp{font-size:.5rem}.leveling-xp-actions{padding:.75rem}.leveling-actions-title{font-size:.875rem;margin-bottom:.75rem}.leveling-quick-add{gap:.5rem;margin-bottom:1rem}.leveling-quick-label{font-size:.75rem}.leveling-quick-grid{gap:.375rem;grid-template-columns:repeat(2,1fr)}.leveling-custom-xp{gap:.5rem}.leveling-xp-sources{margin-top:1rem;padding-top:1rem;gap:.5rem}.leveling-xp-sources-label{font-size:.75rem}.leveling-xp-sources-grid{gap:.375rem;grid-template-columns:1fr}.leveling-xp-source-btn{padding:.75rem .875rem!important}.leveling-xp-source-label{font-size:.75rem}.leveling-xp-source-amount{font-size:.6875rem}.leveling-xp-source-tooltip{font-size:.6875rem;padding:.375rem .5rem}.leveling-pending-badge-card{padding:.75rem}.leveling-pending-badge-content{gap:.75rem;margin-bottom:.75rem}.leveling-pending-badge-icon{width:2.5rem;height:2.5rem}.leveling-pending-badge-title{font-size:.875rem}.leveling-pending-badge-description{font-size:.75rem}.leveling-strategy-card{padding:.75rem}.leveling-strategy-note{font-size:.6875rem;margin-top:.5rem}.leveling-mastery-card{padding:.75rem}.leveling-mastery-header{gap:.5rem;margin-bottom:.75rem}.leveling-mastery-title{font-size:1rem}.leveling-mastery-empty{padding:1rem;gap:.375rem}.leveling-mastery-empty-text{font-size:.75rem}.leveling-mastery-empty-hint{font-size:.6875rem}.leveling-mastery-content{gap:.75rem}.leveling-mastery-track-info{padding-bottom:.5rem}.leveling-mastery-track-title{font-size:.875rem}.leveling-mastery-track-artist{font-size:.75rem}.leveling-mastery-listen-count{font-size:.6875rem;padding-top:.375rem}.leveling-mastery-no-listens{font-size:.75rem;padding:.5rem}.leveling-confetti{width:.375rem;height:.375rem}}.sensor-tab-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.sensor-tab-container{gap:1.5rem}}.sensor-tab-header{display:flex;align-items:center;gap:.75rem}.sensor-tab-icon-badge{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--cute-teal) / .2));border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius);color:hsl(var(--primary))}@media (min-width: 768px){.sensor-tab-icon-badge{width:3rem;height:3rem}}.sensor-tab-icon{color:hsl(var(--primary))}.sensor-tab-header-content h2{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));line-height:1.2}@media (min-width: 768px){.sensor-tab-header-content h2{font-size:1.25rem}}.sensor-tab-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:.125rem}@media (min-width: 768px){.sensor-tab-subtitle{font-size:.8125rem}}.sensor-tab-content{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.sensor-tab-content{gap:1.5rem}}.sensor-permissions-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.75rem}@media (min-width: 640px){.sensor-permissions-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.sensor-permission-card{display:flex;flex-direction:column;gap:.5rem}.sensor-permission-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.sensor-permission-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.sensor-permission-state{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-permission-state{font-size:.75rem}}.sensor-permission-button{margin-top:auto;width:100%}.sensor-status-indicator{display:flex;align-items:center;gap:.375rem}.sensor-status-dot{width:.5rem;height:.5rem;border-radius:50%;box-shadow:0 0 0 2px hsl(var(--background));animation:sensorPulse 2s var(--ease-out-cubic) infinite}.sensor-status-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-status-label{font-size:.75rem}}.sensor-monitor-button{width:100%}.sensor-data-section{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.sensor-data-section{gap:1.25rem}}.sensor-card-title{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.75rem}@media (min-width: 768px){.sensor-card-title{font-size:1rem;margin-bottom:1rem}}.sensor-card-title svg{color:hsl(var(--primary))}.sensor-location-toggle{margin-left:auto;padding:.25rem;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.sensor-location-toggle:hover{background:hsl(var(--muted) / .5);color:hsl(var(--foreground))}.sensor-location-toggle:active{transform:scale(.95)}.sensor-gps-card{border-color:#3c83f64d;background:linear-gradient(135deg,#3c83f61a,hsl(var(--surface-2)))}.sensor-coordinates-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (min-width: 768px){.sensor-coordinates-grid{gap:1rem}}.sensor-coordinate-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:hsl(var(--surface-3));border-radius:var(--radius);border:1px solid hsl(217 91% 60% / .2)}.sensor-coordinate-label{font-size:.6875rem;font-weight:500;color:#3c83f6cc}@media (min-width: 768px){.sensor-coordinate-label{font-size:.75rem}}.sensor-coordinate-value{font-size:.875rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.sensor-coordinate-value{font-size:1rem}}.sensor-biome-badge{display:inline-flex;align-items:center;gap:.375rem;margin-top:.75rem;padding:.375rem .625rem;background:linear-gradient(135deg,#16a24926,#3c83f626);border:1px solid hsl(142 76% 36% / .3);border-radius:var(--radius)}.sensor-biome-emoji{font-size:1rem;line-height:1}@media (min-width: 768px){.sensor-biome-emoji{font-size:1.125rem}}.sensor-biome-name{font-size:.75rem;font-weight:600;color:#1abc55;text-transform:capitalize}@media (min-width: 768px){.sensor-biome-name{font-size:.8125rem}}.sensor-minimap{position:relative;display:flex;align-items:center;justify-content:center;min-height:120px;padding:1rem;margin-top:.75rem;background:linear-gradient(135deg,#16a24933,#3c83f633);border:1px solid hsl(217 91% 60% / .3);border-radius:var(--radius);overflow:hidden}.sensor-minimap-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background-image:linear-gradient(hsl(217 91% 60% / .3) 1px,transparent 1px),linear-gradient(90deg,hsl(217 91% 60% / .3) 1px,transparent 1px);background-size:20px 20px}.sensor-minimap-pin{position:relative;z-index:1;text-align:center;color:hsl(var(--primary))}.sensor-minimap-pin svg{display:block;margin:0 auto}.sensor-minimap-coords{display:block;margin-top:.25rem;font-size:.6875rem;color:#3c83f6}@media (min-width: 768px){.sensor-minimap-coords{font-size:.75rem}}.sensor-maps-link{position:absolute;bottom:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.6875rem;font-weight:500;color:hsl(var(--background));background-color:#3c83f6;border-radius:var(--radius);text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.sensor-maps-link{font-size:.75rem}}.sensor-maps-link:hover{background-color:#3c83f6cc}.sensor-gps-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem;margin-top:.75rem}@media (min-width: 768px){.sensor-gps-details{grid-template-columns:repeat(4,1fr);gap:.5rem}}.sensor-gps-detail{display:flex;flex-direction:column;padding:.375rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-gps-detail-label{font-size:.625rem;font-weight:500;color:#3c83f6b3}@media (min-width: 768px){.sensor-gps-detail-label{font-size:.6875rem}}.sensor-gps-detail-value{font-size:.6875rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.sensor-gps-detail-value{font-size:.75rem}}.sensor-motion-card{border-color:#16a2494d;background:linear-gradient(135deg,#16a2491a,hsl(var(--surface-2)))}.sensor-activity-display{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.sensor-activity-label{font-size:.8125rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-activity-label{font-size:.875rem}}.sensor-activity-value{font-size:1rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.sensor-activity-value{font-size:1.125rem}}.sensor-motion-graphs{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.sensor-motion-graphs{gap:.75rem}}.sensor-motion-graph{width:100%;height:60px;border-radius:var(--radius)}.motion-graph-container{display:flex;flex-direction:column;gap:.25rem}.motion-graph-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.motion-graph-label{color:hsl(var(--muted-foreground))}.motion-graph-value{font-family:monospace;color:hsl(var(--foreground))}.motion-graph-canvas{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:#0000004d}.sensor-xp-modifier-card{border-color:#1fe0ba4d;background:linear-gradient(135deg,#1fe0ba1a,hsl(var(--surface-2)))}.sensor-xp-icon{font-size:1.125rem}@media (min-width: 768px){.sensor-xp-icon{font-size:1.25rem}}.sensor-xp-display{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 0;text-align:center}@media (min-width: 768px){.sensor-xp-display{padding:1.25rem 0}}.sensor-xp-value{font-size:2.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;transition:color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.sensor-xp-value{font-size:3rem}}.sensor-xp-value[data-tier=base]{color:hsl(var(--muted-foreground))}.sensor-xp-value[data-tier=bonus]{color:#facc14}.sensor-xp-value[data-tier=high]{color:#f97415}.sensor-xp-value[data-tier=epic]{color:#1fe0ba;text-shadow:0 0 20px hsl(168 76% 50% / .4)}.sensor-xp-label{font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-xp-label{font-size:.875rem}}.sensor-xp-bonus-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.75rem}.sensor-xp-bonus-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:linear-gradient(135deg,#1fe0ba26,hsl(var(--primary) / .1));border:1px solid hsl(168 76% 50% / .3);border-radius:9999px;font-size:.6875rem;transition:all var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.sensor-xp-bonus-badge{padding:.375rem .625rem;font-size:.75rem}}.sensor-xp-bonus-badge:hover{background:linear-gradient(135deg,#1fe0ba40,hsl(var(--primary) / .15));transform:translateY(-1px)}.sensor-xp-bonus-icon{font-size:.875rem;line-height:1}@media (min-width: 768px){.sensor-xp-bonus-icon{font-size:1rem}}.sensor-xp-bonus-label{color:hsl(var(--foreground));font-weight:500}.sensor-xp-bonus-value{color:#1fe0ba;font-weight:700}.sensor-xp-tier-indicators{display:flex;justify-content:center;gap:1rem;margin-top:.5rem}@media (min-width: 768px){.sensor-xp-tier-indicators{gap:1.5rem}}.sensor-xp-tier{display:flex;align-items:center;gap:.375rem;opacity:.4;transition:opacity var(--duration-fast) var(--ease-out-cubic)}.sensor-xp-tier[data-active=true]{opacity:1}.sensor-xp-tier-dot{width:.5rem;height:.5rem;border-radius:50%;background-color:hsl(var(--muted-foreground));transition:background-color var(--duration-fast) var(--ease-out-cubic)}.sensor-xp-tier[data-active=true] .sensor-xp-tier-dot{animation:sensorTierPulse 1.5s var(--ease-out-cubic) infinite}.sensor-xp-tier:nth-child(1) .sensor-xp-tier-dot{background-color:hsl(var(--muted-foreground))}.sensor-xp-tier:nth-child(2) .sensor-xp-tier-dot{background-color:#facc14}.sensor-xp-tier:nth-child(3) .sensor-xp-tier-dot{background-color:#f97415}.sensor-xp-tier:nth-child(4) .sensor-xp-tier-dot{background-color:#1fe0ba}@keyframes sensorTierPulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 currentColor}50%{transform:scale(1.2);box-shadow:0 0 8px 2px currentColor}}.sensor-xp-tier-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-xp-tier-label{font-size:.75rem}}.sensor-weather-card{border-color:#0da2e74d;background:linear-gradient(135deg,#0da2e71a,hsl(var(--surface-2)))}.sensor-weather-main{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}@media (min-width: 768px){.sensor-weather-main{gap:1rem}}.sensor-weather-icon{font-size:2.5rem;line-height:1}@media (min-width: 768px){.sensor-weather-icon{font-size:3rem}}.sensor-weather-temp{flex:1;display:flex;flex-direction:column;gap:.125rem}.sensor-temperature-value{font-size:1.75rem;font-weight:700;color:hsl(var(--foreground));line-height:1}@media (min-width: 768px){.sensor-temperature-value{font-size:2rem}}.sensor-weather-condition{font-size:.8125rem;color:hsl(var(--muted-foreground));text-transform:capitalize}@media (min-width: 768px){.sensor-weather-condition{font-size:.875rem}}.sensor-weather-feels{font-size:.75rem;color:#0da2e7cc}@media (min-width: 768px){.sensor-weather-feels{font-size:.8125rem}}.sensor-day-night{text-align:center}.sensor-day-night-icon{display:block;font-size:1.5rem;line-height:1}@media (min-width: 768px){.sensor-day-night-icon{font-size:1.75rem}}.sensor-day-night-label{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:.25rem}@media (min-width: 768px){.sensor-day-night-label{font-size:.75rem}}.sensor-weather-details{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.75rem}@media (min-width: 768px){.sensor-weather-details{grid-template-columns:repeat(4,1fr);gap:.75rem}}.sensor-weather-detail{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-weather-detail svg,.sensor-weather-detail-icon{flex-shrink:0;color:#0da2e7cc}.sensor-weather-detail>div{display:flex;flex-direction:column;gap:.125rem;min-width:0}.sensor-weather-detail-label{font-size:.625rem;font-weight:500;color:#0da2e7b3}@media (min-width: 768px){.sensor-weather-detail-label{font-size:.6875rem}}.sensor-weather-detail-value{font-size:.75rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.sensor-weather-detail-value{font-size:.8125rem}}.sensor-moon-phase{display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-top:.5rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-moon-icon{font-size:1.25rem;line-height:1}@media (min-width: 768px){.sensor-moon-icon{font-size:1.5rem}}.sensor-moon-info{display:flex;flex-direction:column;gap:.125rem}.sensor-moon-percent{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.sensor-updated-time{display:block;margin-top:.75rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-updated-time{font-size:.75rem}}.sensor-empty-card{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.sensor-empty-card{gap:1rem}}.sensor-empty-icon{font-size:2rem;text-align:center;opacity:.7}@media (min-width: 768px){.sensor-empty-icon{font-size:2.5rem}}.sensor-empty-title{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));text-align:center}@media (min-width: 768px){.sensor-empty-title{font-size:1rem}}.sensor-empty-list{display:flex;flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none}.sensor-empty-list li{font-size:.75rem;color:hsl(var(--muted-foreground));padding-left:1rem;position:relative}@media (min-width: 768px){.sensor-empty-list li{font-size:.8125rem}}.sensor-empty-list li:before{content:"•";position:absolute;left:0;color:hsl(var(--muted-foreground))}.sensor-warning-card{border-color:hsl(var(--cute-orange) / .5);background-color:hsl(var(--cute-orange) / .1)}.sensor-warning-card .sensor-empty-title{color:hsl(var(--cute-orange))}.sensor-error-card{border-color:hsl(var(--destructive) / .5);background-color:hsl(var(--destructive) / .1)}.sensor-error-card .sensor-empty-title{color:hsl(var(--destructive))}.sensor-weather-refresh-button{margin-top:.5rem;align-self:center}.sensor-last-success-time{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:.5rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-last-success-time{font-size:.75rem}}.sensor-raw-card{margin-top:.5rem}.sensor-raw-json{display:block;margin:.5rem 0 0;padding:.75rem;font-size:.6875rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1.5;color:hsl(var(--muted-foreground));background-color:hsl(var(--surface-3));border-radius:var(--radius);overflow-x:auto}@media (min-width: 768px){.sensor-raw-json{font-size:.75rem;padding:1rem}}.sensor-diagnostics-card{border-color:#9933cc4d;background:linear-gradient(135deg,#9933cc14,hsl(var(--surface-2)))}.sensor-diagnostics-card .sensor-card-title{color:#ad5cd6}.sensor-diagnostics-mode-badge{margin-left:auto;padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;color:#ad5cd6;background:#9933cc26;border:1px solid hsl(280 60% 50% / .3);border-radius:var(--radius)}.sensor-diagnostics-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;color:hsl(var(--muted-foreground));text-align:center}.sensor-diagnostics-empty p{font-size:.875rem;margin:0}.sensor-diagnostics-content{display:flex;flex-direction:column;gap:1rem}.sensor-diagnostics-section{display:flex;flex-direction:column;gap:.5rem}.sensor-diagnostics-section-title{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0}.sensor-diagnostics-section-title svg{color:#ad5cd6}.sensor-diagnostics-section-title--error{color:hsl(var(--destructive))}.sensor-diagnostics-section-title--error svg{color:hsl(var(--destructive))}.sensor-diagnostics-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.5rem}@media (min-width: 480px){.sensor-diagnostics-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.sensor-diagnostics-grid{grid-template-columns:repeat(4,1fr)}}.sensor-diagnostics-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:hsl(var(--surface-3));border-radius:var(--radius);border:1px solid hsl(var(--border))}.sensor-diagnostics-item--healthy{border-color:#16a2494d}.sensor-diagnostics-item--degraded{border-color:#facc144d}.sensor-diagnostics-item--error{border-color:hsl(var(--destructive) / .3);background-color:hsl(var(--destructive) / .05)}.sensor-diagnostics-item-header{display:flex;align-items:center;gap:.375rem}.sensor-diagnostics-item-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.sensor-diagnostics-item-status{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sensor-diagnostics-item-health{font-size:.6875rem;color:hsl(var(--muted-foreground))}.sensor-diagnostics-item-time{font-size:.625rem;color:hsl(var(--muted-foreground) / .8);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.sensor-diagnostics-item-error{font-size:.625rem;color:hsl(var(--destructive));margin-top:.125rem;word-break:break-word}.sensor-diagnostics-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 768px){.sensor-diagnostics-info-grid{grid-template-columns:repeat(4,1fr)}}.sensor-diagnostics-info-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem;background-color:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-diagnostics-info-label{font-size:.625rem;font-weight:500;color:#ad5cd6cc;text-transform:uppercase;letter-spacing:.05em}.sensor-diagnostics-info-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.sensor-diagnostics-status--success{color:#16a249}.sensor-diagnostics-status--error{color:hsl(var(--destructive))}.sensor-diagnostics-failures{display:flex;flex-direction:column;gap:.375rem}.sensor-diagnostics-failure-item{padding:.5rem;background-color:hsl(var(--destructive) / .05);border:1px solid hsl(var(--destructive) / .2);border-radius:var(--radius)}.sensor-diagnostics-failure-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.25rem}.sensor-diagnostics-failure-header svg{color:hsl(var(--destructive));flex-shrink:0}.sensor-diagnostics-failure-type{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));text-transform:capitalize}.sensor-diagnostics-failure-time{margin-left:auto;font-size:.625rem;color:hsl(var(--muted-foreground));font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.sensor-diagnostics-failure-message{font-size:.6875rem;color:hsl(var(--destructive) / .9);word-break:break-word}.sensor-diagnostics-updated{display:flex;align-items:center;gap:.375rem;padding-top:.5rem;border-top:1px solid hsl(var(--border));font-size:.6875rem;color:hsl(var(--muted-foreground))}.sensor-diagnostics-updated svg{color:hsl(var(--muted-foreground))}.sensor-severe-weather-card{position:relative;overflow:hidden;animation:severeWeatherSlideIn .4s var(--ease-out-cubic)}@keyframes severeWeatherSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sensor-severe-weather-dismiss{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:var(--radius);background-color:hsl(var(--background) / .5);color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.sensor-severe-weather-dismiss{top:1rem;right:1rem}}.sensor-severe-weather-dismiss:hover{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sensor-severe-weather-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}@media (min-width: 768px){.sensor-severe-weather-header{gap:1rem}}.sensor-severe-weather-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sensor-severe-weather-emoji{position:absolute;font-size:1.25rem;opacity:0;animation:severeWeatherEmojiPulse 2s var(--ease-out-cubic) infinite}@media (min-width: 768px){.sensor-severe-weather-emoji{font-size:1.5rem}}@keyframes severeWeatherEmojiPulse{0%,to{opacity:0;transform:scale(.8)}50%{opacity:.6;transform:scale(1.2)}}.sensor-severe-weather-icon{animation:severeWeatherIconPulse 1.5s var(--ease-out-cubic) infinite}@keyframes severeWeatherIconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.sensor-severe-weather-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-right:2rem}.sensor-severe-weather-title{font-size:1.125rem;font-weight:700;margin:0;line-height:1.2}@media (min-width: 768px){.sensor-severe-weather-title{font-size:1.25rem}}.sensor-severe-weather-severity-badge{padding:.125rem .5rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius)}@media (min-width: 768px){.sensor-severe-weather-severity-badge{font-size:.6875rem;padding:.1875rem .625rem}}.sensor-severe-weather-xp-bonus{display:inline-flex;align-items:center;gap:.375rem;margin-bottom:.75rem;padding:.375rem .75rem;background:linear-gradient(135deg,#1fe0ba33,#18b4951a);border:1px solid hsl(168 76% 50% / .3);border-radius:var(--radius)}.sensor-severe-weather-xp-bonus svg{color:#1fe0ba}.sensor-severe-weather-xp-label{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-severe-weather-xp-label{font-size:.8125rem}}.sensor-severe-weather-xp-value{font-size:.875rem;font-weight:700;color:#1fe0ba;margin-left:.25rem}@media (min-width: 768px){.sensor-severe-weather-xp-value{font-size:1rem}}.sensor-severe-weather-message{font-size:.875rem;color:hsl(var(--foreground));margin:0 0 .75rem;line-height:1.5}@media (min-width: 768px){.sensor-severe-weather-message{font-size:.9375rem}}.sensor-severe-weather-safety{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem;background-color:hsl(var(--surface-3));border-radius:var(--radius);border:1px solid hsl(var(--border))}.sensor-severe-weather-safety svg{flex-shrink:0;color:hsl(var(--cute-orange));margin-top:.125rem}.sensor-severe-weather-safety span{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 768px){.sensor-severe-weather-safety span{font-size:.8125rem}}.sensor-severe-weather-time{display:block;margin-top:.75rem;font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.sensor-severe-weather-time{font-size:.75rem}}.sensor-solar-card{background:linear-gradient(135deg,#ffbf000d,hsl(var(--surface-2)))}.sensor-solar-card .sensor-card-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#ffbf00}.sensor-solar-no-api-badge{margin-left:auto;font-size:.625rem;font-weight:600;padding:.125rem .5rem;background:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.sensor-solar-stage{display:flex;align-items:center;gap:1rem;padding:1rem;background:hsl(var(--surface-3));border-radius:var(--radius);margin-bottom:1rem}.sensor-solar-stage-emoji{font-size:2.5rem;line-height:1}.sensor-solar-stage-info{display:flex;flex-direction:column;gap:.25rem}.sensor-solar-stage-label{font-size:.6875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.sensor-solar-stage-value{font-size:1.25rem;font-weight:700}.sensor-solar-times-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}@media (min-width: 768px){.sensor-solar-times-grid{grid-template-columns:repeat(4,1fr)}}.sensor-solar-time-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-solar-time-icon{font-size:1.25rem}.sensor-solar-time-info{display:flex;flex-direction:column;gap:.125rem}.sensor-solar-time-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.sensor-solar-time-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.sensor-solar-position{display:flex;gap:1rem;padding:.75rem;background:hsl(var(--surface-3));border-radius:var(--radius);margin-bottom:1rem}.sensor-solar-position-item{display:flex;flex-direction:column;gap:.125rem}.sensor-solar-position-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.sensor-solar-position-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.sensor-solar-twilight{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--surface-3));border-radius:var(--radius)}.sensor-solar-twilight-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.sensor-solar-twilight-times{display:flex;gap:1rem;font-size:.8125rem;color:hsl(var(--foreground))}@media (max-width: 767px){.sensor-tab-container{gap:.75rem}.sensor-tab-header{gap:.5rem}.sensor-tab-icon-badge{width:2rem;height:2rem}.sensor-tab-header-content h2{font-size:1rem}.sensor-tab-subtitle{font-size:.6875rem}.sensor-tab-content{gap:.75rem}.sensor-permissions-grid{grid-template-columns:1fr!important;gap:.5rem}.sensor-permission-card{gap:.375rem}.sensor-permission-header{margin-bottom:.125rem}.sensor-permission-title{font-size:.75rem}.sensor-permission-state{font-size:.625rem}.sensor-permission-button{margin-top:.5rem}.sensor-status-dot{width:.375rem;height:.375rem}.sensor-status-label{font-size:.625rem}.sensor-data-section{gap:.75rem}.sensor-card-title{font-size:.8125rem;margin-bottom:.5rem;gap:.375rem}.sensor-card-title svg{width:.875rem;height:.875rem}.sensor-location-toggle{padding:.1875rem}.sensor-coordinates-grid{grid-template-columns:1fr!important;gap:.5rem}.sensor-coordinate-item{padding:.375rem}.sensor-coordinate-label{font-size:.625rem}.sensor-coordinate-value{font-size:.75rem}.sensor-biome-badge{margin-top:.5rem;padding:.25rem .5rem;gap:.25rem}.sensor-biome-emoji{font-size:.875rem}.sensor-biome-name{font-size:.6875rem}.sensor-minimap{min-height:100px;padding:.75rem;margin-top:.5rem}.sensor-minimap-coords{font-size:.625rem;margin-top:.1875rem}.sensor-maps-link{padding:.25rem .5rem;font-size:.625rem;bottom:.375rem;right:.375rem}.sensor-weather-grid{grid-template-columns:1fr!important;gap:.5rem}.sensor-weather-item{padding:.5rem}.sensor-weather-label{font-size:.625rem}.sensor-weather-value{font-size:.875rem}.sensor-weather-desc{font-size:.6875rem}.sensor-forecast-grid{grid-template-columns:repeat(3,1fr)!important;gap:.375rem}.sensor-forecast-item{padding:.5rem;gap:.25rem}.sensor-forecast-emoji{font-size:1.125rem}.sensor-forecast-day{font-size:.625rem}.sensor-forecast-temps{font-size:.75rem}.sensor-info-grid{grid-template-columns:1fr!important;gap:.5rem}.sensor-info-item{padding:.5rem;gap:.25rem}.sensor-info-label{font-size:.625rem}.sensor-info-value{font-size:.75rem}.sensor-diagnostics-card{margin-top:.75rem}.sensor-diagnostics-header{padding:.5rem .75rem}.sensor-diagnostics-title{font-size:.75rem}.sensor-diagnostics-content{padding:.5rem .75rem;gap:.75rem}.sensor-diagnostics-empty{padding:1rem}.sensor-diagnostics-empty svg{width:1.5rem;height:1.5rem}.sensor-diagnostics-empty p{font-size:.75rem}.sensor-diagnostics-section-title{font-size:.75rem;margin-bottom:.375rem}.sensor-diagnostics-info-grid{grid-template-columns:1fr!important;gap:.375rem}.sensor-diagnostics-info-item{padding:.375rem}.sensor-diagnostics-info-label{font-size:.625rem}.sensor-diagnostics-info-value{font-size:.6875rem}.sensor-diagnostics-failure-header{gap:.25rem}.sensor-diagnostics-failure-type{font-size:.625rem}.sensor-diagnostics-failure-time{font-size:.5625rem}.sensor-diagnostics-failure-message{font-size:.625rem}.sensor-diagnostics-updated{padding-top:.375rem;font-size:.625rem}.sensor-diagnostics-updated svg{width:.75rem;height:.75rem}.sensor-severe-weather-dismiss{width:1.5rem;height:1.5rem;top:.5rem;right:.5rem}.sensor-severe-weather-header{gap:.5rem;margin-bottom:.5rem}.sensor-severe-weather-emoji{font-size:1rem}.sensor-severe-weather-title-row{gap:.375rem;padding-right:1.75rem}.sensor-severe-weather-title{font-size:1rem}.sensor-severe-weather-severity-badge{font-size:.5625rem;padding:.125rem .375rem}.sensor-severe-weather-xp-bonus{margin-bottom:.5rem;padding:.25rem .5rem;gap:.25rem}.sensor-severe-weather-xp-label{font-size:.6875rem}.sensor-severe-weather-xp-value{font-size:.75rem}.sensor-severe-weather-message{font-size:.75rem;margin-bottom:.5rem}.sensor-severe-weather-safety{padding:.5rem;gap:.375rem}.sensor-severe-weather-safety svg{width:.875rem;height:.875rem}.sensor-severe-weather-safety span{font-size:.6875rem}.sensor-severe-weather-time{margin-top:.5rem;font-size:.625rem}.sensor-solar-stage{padding:.75rem;margin-bottom:.75rem;gap:.75rem}.sensor-solar-stage-emoji{font-size:2rem}.sensor-solar-stage-label{font-size:.625rem}.sensor-solar-stage-value{font-size:1.125rem}.sensor-solar-times-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem;margin-bottom:.75rem}.sensor-solar-time-item{padding:.5rem;gap:.375rem}.sensor-solar-time-icon{font-size:1rem}.sensor-solar-time-label{font-size:.5625rem}.sensor-solar-time-value{font-size:.75rem}.sensor-solar-position{padding:.5rem;gap:.75rem;margin-bottom:.75rem}.sensor-solar-position-label{font-size:.5625rem}.sensor-solar-position-value{font-size:.75rem}.sensor-solar-twilight{padding:.5rem;gap:.375rem}.sensor-solar-twilight-label{font-size:.5625rem}.sensor-solar-twilight-times{font-size:.75rem;gap:.75rem}}.gaming-tab-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.gaming-tab-container{gap:1.25rem}}.gaming-tab-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}@media (min-width: 768px){.gaming-tab-header{margin-bottom:.75rem}}.gaming-tab-title{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));line-height:1.3}@media (min-width: 768px){.gaming-tab-title{font-size:1.25rem}}.gaming-tab-subtitle{font-size:.8125rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.gaming-tab-subtitle{font-size:.875rem}}.gaming-platform-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem;margin-bottom:1rem}@media (min-width: 768px){.gaming-platform-card{padding:1rem;margin-bottom:1.25rem}}.gaming-platform-card:hover{border-color:hsl(var(--border) / .8)}.gaming-platform-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.gaming-platform-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,hsl(var(--primary) / .2),hsl(var(--accent) / .2));border-radius:var(--radius);font-size:1.5rem}@media (min-width: 768px){.gaming-platform-icon{width:3rem;height:3rem;font-size:1.75rem}}.gaming-platform-name{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-platform-name{font-size:1.0625rem}}.gaming-platform-card.steam{border-left:3px solid hsl(222 47% 50%)}.gaming-platform-card.steam .gaming-platform-icon{background:linear-gradient(135deg,#4468bb33,#4468bb1a)}.gaming-platform-card.discord{border-left:3px solid hsl(255 80% 60%)}.gaming-platform-card.discord .gaming-platform-icon{background:linear-gradient(135deg,#7047eb33,#7047eb1a)}.gaming-platform-card.discord-disabled,.gaming-platform-card.steam-disabled{position:relative;opacity:.7}.gaming-platform-card.discord-disabled .gaming-input,.gaming-platform-card.discord-disabled .gaming-button-row button,.gaming-platform-card.steam-disabled .gaming-input,.gaming-platform-card.steam-disabled .gaming-button-row button{opacity:.5;cursor:not-allowed}.discord-server-mode-overlay{position:relative;background:linear-gradient(135deg,hsl(var(--muted) / .9),hsl(var(--surface-1) / .95));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.discord-server-mode-badge{display:inline-flex;align-items:center;gap:.5rem;background:hsl(var(--cute-orange) / .15);border:1px solid hsl(var(--cute-orange) / .4);color:hsl(var(--cute-orange));padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;margin-bottom:.75rem}.discord-server-mode-badge svg{width:.875rem;height:.875rem}.discord-server-mode-message{font-size:.8125rem;line-height:1.6;color:hsl(var(--foreground))}@media (min-width: 768px){.discord-server-mode-message{font-size:.875rem}}.discord-server-mode-message p{margin:0 0 .5rem}.discord-server-mode-message p:last-child{margin-bottom:0}.discord-server-mode-message a{color:hsl(var(--primary));text-decoration:underline}.discord-server-mode-message a:hover{text-decoration:none}.gaming-input-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}@media (min-width: 768px){.gaming-input-group{margin-bottom:1rem}}.gaming-input-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-input-label{font-size:.875rem}}.gaming-input{width:100%;padding:.625rem .75rem;min-height:2.75rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;color:hsl(var(--foreground));transition:border-color var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic)}@media (min-width: 768px){.gaming-input{padding:.5rem .75rem;font-size:.8125rem;min-height:2.5rem}}.gaming-input:hover:not(:disabled){border-color:hsl(var(--muted-foreground) / .5)}.gaming-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.gaming-input:disabled{opacity:.5;cursor:not-allowed}.gaming-input-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 768px){.gaming-input-hint{font-size:.75rem}}.gaming-input-hint a{color:hsl(var(--primary));text-decoration:none}.gaming-input-hint a:hover{text-decoration:underline}.gaming-button-row{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.gaming-button-row{flex-direction:row;align-items:center}}.gaming-info-card{background-color:hsl(var(--cute-teal) / .1);border:1px solid hsl(var(--cute-teal) / .3);border-radius:var(--radius);padding:.625rem .75rem}@media (min-width: 768px){.gaming-info-card{padding:.75rem 1rem}}.gaming-info-text{font-size:.8125rem;color:hsl(var(--cute-teal));line-height:1.5}@media (min-width: 768px){.gaming-info-text{font-size:.875rem}}.gaming-music-section{margin-top:.75rem;padding:.75rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border));border-radius:var(--radius)}@media (min-width: 768px){.gaming-music-section{margin-top:1rem;padding:1rem}}.gaming-music-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}@media (min-width: 768px){.gaming-music-title{font-size:.9375rem;margin-bottom:.625rem}}.gaming-music-description{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.4;margin-bottom:.5rem}@media (min-width: 768px){.gaming-music-description{font-size:.75rem;margin-bottom:.625rem}}.gaming-track-preview{display:flex;align-items:center;gap:.625rem;padding:.5rem;background-color:hsl(var(--muted) / .5);border-radius:var(--radius);margin-bottom:.5rem}@media (min-width: 768px){.gaming-track-preview{gap:.75rem;margin-bottom:.625rem}}.gaming-track-info{flex:1;min-width:0}.gaming-track-name{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.gaming-track-name{font-size:.875rem}}.gaming-track-artist{font-size:.6875rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.gaming-track-artist{font-size:.75rem}}.gaming-track-duration{font-size:.6875rem;color:hsl(var(--muted-foreground));white-space:nowrap;margin-left:.5rem}@media (min-width: 768px){.gaming-track-duration{font-size:.75rem}}.gaming-active-card{background:linear-gradient(135deg,hsl(var(--primary) / .05),hsl(var(--accent) / .05));border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.gaming-active-card{padding:1rem}}.gaming-active-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.75rem}@media (min-width: 768px){.gaming-active-title{font-size:1.0625rem}}.gaming-game-display{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}@media (min-width: 768px){.gaming-game-display{gap:1rem;margin-bottom:1rem}}.gaming-game-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4468bb,#944ce6);border-radius:var(--radius);font-size:1.5rem}@media (min-width: 768px){.gaming-game-icon{width:3rem;height:3rem;font-size:1.75rem}}.gaming-game-info{flex:1;min-width:0}.gaming-game-name{font-size:1rem;font-weight:700;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.gaming-game-name{font-size:1.125rem}}.gaming-game-source{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.gaming-game-source{font-size:.8125rem}}.gaming-genre-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.375rem}@media (min-width: 768px){.gaming-genre-label{font-size:.8125rem;margin-bottom:.5rem}}.gaming-genre-list{display:flex;flex-wrap:wrap;gap:.375rem}@media (min-width: 768px){.gaming-genre-list{gap:.5rem}}.gaming-genre-tag{padding:.25rem .625rem;background-color:#4468bb26;color:#6986c9;border-radius:var(--radius-full);font-size:.6875rem;font-weight:500}@media (min-width: 768px){.gaming-genre-tag{font-size:.75rem;padding:.375rem .75rem}}.gaming-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 768px){.gaming-stats-grid{gap:1rem}}.gaming-stat-item{display:flex;flex-direction:column;gap:.125rem}.gaming-stat-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.gaming-stat-label{font-size:.8125rem}}.gaming-stat-value{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-stat-value{font-size:1.125rem}}.gaming-schema-section{margin-top:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}.gaming-schema-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background-color:hsl(var(--surface-1));border:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}.gaming-schema-header:hover{background-color:hsl(var(--muted) / .5)}.gaming-schema-title-row{display:flex;align-items:center;gap:.5rem}.gaming-schema-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-schema-title{font-size:.9375rem}}.gaming-schema-title-row svg{color:hsl(var(--primary))}.gaming-schema-header svg{color:hsl(var(--muted-foreground))}.gaming-schema-content{padding:.875rem 1rem;background-color:hsl(var(--background))}@media (min-width: 768px){.gaming-schema-content{padding:1rem}}.gaming-schema-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:hsl(var(--muted-foreground));font-size:.875rem}.gaming-schema-spinner{animation:gaming-schema-spin 1s linear infinite}@keyframes gaming-schema-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gaming-schema-error{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);color:hsl(var(--destructive));font-size:.8125rem}@media (min-width: 768px){.gaming-schema-error{font-size:.875rem}}.gaming-schema-empty{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:.8125rem}@media (min-width: 768px){.gaming-schema-empty{font-size:.875rem}}.gaming-schema-game-name{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border) / .5)}.gaming-schema-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em}.gaming-schema-value{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}.gaming-schema-section-group{margin-bottom:1rem}.gaming-schema-section-group:last-child{margin-bottom:0}.gaming-schema-group-header{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.625rem}@media (min-width: 768px){.gaming-schema-group-header{font-size:.875rem}}.gaming-schema-group-header svg{color:hsl(var(--primary))}.gaming-schema-achievements-list{display:flex;flex-direction:column;gap:.5rem}.gaming-schema-achievement-item{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5)}.gaming-schema-achievement-icon{width:2rem;height:2rem;border-radius:calc(var(--radius) * .25);-o-object-fit:cover;object-fit:cover;flex-shrink:0}@media (min-width: 768px){.gaming-schema-achievement-icon{width:2.25rem;height:2.25rem}}.gaming-schema-achievement-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.gaming-schema-achievement-name{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));line-height:1.3}@media (min-width: 768px){.gaming-schema-achievement-name{font-size:.875rem}}.gaming-schema-achievement-desc{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 768px){.gaming-schema-achievement-desc{font-size:.8125rem}}.gaming-schema-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 640px){.gaming-schema-stats-grid{grid-template-columns:repeat(4,1fr)}}.gaming-schema-stat-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5)}.gaming-schema-stat-name{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 768px){.gaming-schema-stat-name{font-size:.75rem}}.gaming-schema-stat-value{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-schema-stat-value{font-size:1rem}}.gaming-schema-more-items{padding:.375rem 0;font-size:.75rem;color:hsl(var(--muted-foreground));text-align:center;font-style:italic}@media (min-width: 768px){.gaming-schema-more-items{font-size:.8125rem}}.gaming-bonus-card{background:linear-gradient(135deg,#4468bb1a,#944ce61a);border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.gaming-bonus-card{padding:1rem}}.gaming-bonus-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.75rem}@media (min-width: 768px){.gaming-bonus-title{font-size:1.0625rem;margin-bottom:1rem}}.gaming-bonus-desc{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5;display:block;margin-bottom:.75rem}@media (min-width: 768px){.gaming-bonus-desc{font-size:.875rem;margin-bottom:1rem}}.gaming-bonus-display{display:flex;align-items:center;gap:.75rem}@media (min-width: 768px){.gaming-bonus-display{gap:1rem}}.gaming-bonus-value{font-size:2rem;font-weight:700;color:hsl(var(--primary));line-height:1}@media (min-width: 768px){.gaming-bonus-value{font-size:2.5rem}}.gaming-bonus-label{flex:1;display:flex;flex-direction:column;gap:.125rem}.gaming-bonus-name{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-bonus-name{font-size:.9375rem}}.gaming-bonus-label .gaming-bonus-desc{font-size:.6875rem}@media (min-width: 768px){.gaming-bonus-label .gaming-bonus-desc{font-size:.75rem}}.gaming-formula-section{margin-top:.75rem;padding:.5rem .75rem;background-color:hsl(var(--surface-1));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5)}.gaming-formula-title{display:block;font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}@media (min-width: 768px){.gaming-formula-title{font-size:.75rem}}.gaming-formula-code{display:block;font-family:var(--font-mono);font-size:.6875rem;color:hsl(var(--primary));background-color:hsl(var(--primary) / .05);padding:.375rem .5rem;border-radius:calc(var(--radius) * .25);overflow-x:auto}@media (min-width: 768px){.gaming-formula-code{font-size:.75rem}}.gaming-bonus-breakdown{margin-top:.75rem;padding:.5rem .625rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius)}@media (min-width: 768px){.gaming-bonus-breakdown{margin-top:1rem;padding:.625rem .75rem}}.gaming-breakdown-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem}@media (min-width: 768px){.gaming-breakdown-title{font-size:.8125rem;margin-bottom:.625rem}}.gaming-breakdown-factor{padding:.5rem 0;border-bottom:1px solid hsl(var(--border) / .3)}.gaming-breakdown-factor:last-of-type{border-bottom:none}.gaming-breakdown-factor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.gaming-breakdown-name{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.gaming-breakdown-name{font-size:.8125rem}}.gaming-breakdown-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-breakdown-value{font-size:.875rem}}.gaming-factor-progress{height:.375rem;background-color:hsl(var(--muted) / .4);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.25rem}@media (min-width: 768px){.gaming-factor-progress{height:.5rem}}.gaming-factor-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .6),hsl(var(--primary)));border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out-cubic);min-width:2px}.gaming-factor-progress-bar--session,.gaming-factor-progress-bar--max{background:linear-gradient(90deg,hsl(var(--cute-teal) / .6),hsl(var(--cute-teal)))}.gaming-factor-progress-bar--medium{background:linear-gradient(90deg,hsl(var(--cute-orange) / .6),hsl(var(--cute-orange)))}.gaming-factor-progress-bar--multiplayer{background:linear-gradient(90deg,#944ce699,#944ce6)}.gaming-factor-label{display:block;font-size:.625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.gaming-factor-label{font-size:.6875rem}}.gaming-factor-next-tier{color:hsl(var(--primary));font-style:normal;font-weight:500}.gaming-breakdown-total{padding-top:.75rem;margin-top:.5rem;border-top:1px solid hsl(var(--border))}.gaming-breakdown-total-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.gaming-breakdown-total-header .gaming-breakdown-name{font-weight:600;color:hsl(var(--foreground))}.gaming-breakdown-total-header .gaming-breakdown-value{color:hsl(var(--primary));font-weight:700}.gaming-total-progress{height:.625rem;background-color:hsl(var(--muted) / .4);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.25rem}@media (min-width: 768px){.gaming-total-progress{height:.75rem}}.gaming-total-progress-bar{height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .7),hsl(var(--primary)));border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out-cubic);min-width:2px}.gaming-total-progress-bar--max{background:linear-gradient(90deg,hsl(var(--cute-teal) / .7),hsl(var(--cute-teal)));animation:gaming-total-glow 2s ease-in-out infinite}@keyframes gaming-total-glow{0%,to{box-shadow:0 0 4px hsl(var(--cute-teal) / .4)}50%{box-shadow:0 0 8px hsl(var(--cute-teal) / .6)}}.gaming-potential-section{margin-top:.75rem;padding:.625rem .75rem;background:linear-gradient(135deg,hsl(var(--surface-1)),hsl(var(--surface-2)));border:1px solid hsl(var(--border));border-radius:var(--radius)}.gaming-potential-title{display:block;font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}@media (min-width: 768px){.gaming-potential-title{font-size:.8125rem;margin-bottom:.625rem}}.gaming-potential-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.75rem}@media (min-width: 768px){.gaming-potential-grid{gap:.75rem}}.gaming-potential-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5);text-align:center}.gaming-potential-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em}@media (min-width: 768px){.gaming-potential-label{font-size:.6875rem}}.gaming-potential-value{font-size:.9375rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-potential-value{font-size:1rem}}.gaming-potential-value--max{color:hsl(var(--cute-teal))}.gaming-countdown-section{padding-top:.5rem;border-top:1px solid hsl(var(--border) / .3)}.gaming-countdown-label{display:block;font-size:.625rem;color:hsl(var(--muted-foreground));margin-bottom:.375rem}@media (min-width: 768px){.gaming-countdown-label{font-size:.6875rem}}.gaming-countdown-bar{position:relative;height:1.5rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius);overflow:hidden}@media (min-width: 768px){.gaming-countdown-bar{height:1.75rem}}.gaming-countdown-bar-fill{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .4),hsl(var(--primary) / .6));border-radius:var(--radius);transition:width var(--duration-normal) var(--ease-out-cubic)}.gaming-countdown-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));text-shadow:0 1px 2px hsl(var(--background) / .8);white-space:nowrap}@media (min-width: 768px){.gaming-countdown-text{font-size:.75rem}}.gaming-breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;padding:.375rem 0;border-bottom:1px solid hsl(var(--border) / .5)}@media (min-width: 768px){.gaming-breakdown-row{font-size:.75rem;padding:.5rem 0}}.gaming-breakdown-row:last-child{border-bottom:none;padding-top:.625rem;margin-top:.375rem;border-top:1px solid hsl(var(--border))}@media (min-width: 768px){.gaming-breakdown-row:last-child{padding-top:.75rem;margin-top:.5rem}}.gaming-active-indicator{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem}@media (min-width: 768px){.gaming-active-indicator{margin-top:.625rem}}.gaming-pulse-dot{width:.5rem;height:.5rem;background-color:hsl(var(--cute-teal));border-radius:var(--radius-full);animation:gaming-pulse 2s infinite}@media (min-width: 768px){.gaming-pulse-dot{width:.5625rem;height:.5625rem}}@keyframes gaming-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.gaming-active-text{font-size:.8125rem;font-weight:500;color:hsl(var(--cute-teal))}@media (min-width: 768px){.gaming-active-text{font-size:.875rem}}.gaming-summary-section{padding:.875rem}@media (min-width: 768px){.gaming-summary-section{padding:1rem}}.gaming-summary-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.75rem}@media (min-width: 768px){.gaming-summary-title{font-size:1.0625rem;margin-bottom:1rem}}.gaming-summary-time{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-summary-time{font-size:1.125rem}}.gaming-summary-subtext{font-size:.8125rem;font-weight:400;color:hsl(var(--muted-foreground));margin-left:.5rem}@media (min-width: 768px){.gaming-summary-subtext{font-size:.875rem}}.gaming-games-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.gaming-game-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-game-item{font-size:.875rem}}.gaming-checkmark{color:hsl(var(--cute-teal))}.gaming-raw-section{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.gaming-raw-section{gap:1rem}}.gaming-raw-header{display:flex;align-items:center;gap:.5rem}.gaming-raw-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-raw-title{font-size:1.0625rem}}.gaming-raw-subtitle{font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground));margin-top:.25rem}@media (min-width: 768px){.gaming-raw-subtitle{font-size:.875rem;margin-top:.375rem}}.gaming-no-data{padding:.75rem;background-color:hsl(var(--cute-yellow) / .1);border:1px solid hsl(var(--cute-yellow) / .3);border-radius:var(--radius)}.gaming-no-data-text{font-size:.8125rem;color:hsl(var(--cute-yellow))}@media (min-width: 768px){.gaming-no-data-text{font-size:.875rem}}.gaming-api-performance-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem;margin-bottom:1rem}@media (min-width: 768px){.gaming-api-performance-card{padding:1rem}}.gaming-api-performance-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.gaming-api-performance-title-row{display:flex;align-items:center;gap:.625rem}.gaming-api-performance-title{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground));margin:0}@media (min-width: 768px){.gaming-api-performance-title{font-size:1rem}}.gaming-api-performance-title-row svg{color:hsl(var(--primary))}.gaming-api-status-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}@media (min-width: 768px){.gaming-api-status-badge{font-size:.75rem;padding:.375rem .75rem}}.gaming-api-status-badge--good{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .4)}.gaming-api-status-badge--warning{background-color:hsl(var(--cute-orange) / .15);color:hsl(var(--cute-orange));border:1px solid hsl(var(--cute-orange) / .4)}.gaming-api-status-badge--bad{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .4)}.gaming-api-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}@media (min-width: 480px){.gaming-api-metrics-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.gaming-api-metrics-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}}@media (min-width: 1024px){.gaming-api-metrics-grid{grid-template-columns:repeat(7,1fr)}}.gaming-api-metric{display:flex;flex-direction:column;align-items:center;padding:.5rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5);text-align:center}@media (min-width: 768px){.gaming-api-metric{padding:.625rem}}.gaming-api-metric-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em;margin-bottom:.25rem}@media (min-width: 768px){.gaming-api-metric-label{font-size:.6875rem}}.gaming-api-metric-value{font-size:1rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-api-metric-value{font-size:1.125rem}}.gaming-api-metric-value--good{color:hsl(var(--cute-teal))}.gaming-api-metric-value--warning{color:hsl(var(--cute-orange))}.gaming-api-metric-value--bad{color:hsl(var(--destructive))}.gaming-api-latency-bar-container{padding-top:.75rem;border-top:1px solid hsl(var(--border) / .5)}.gaming-api-latency-bar-label{display:block;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:.5rem}@media (min-width: 768px){.gaming-api-latency-bar-label{font-size:.75rem}}.gaming-api-latency-bar{height:.5rem;background-color:hsl(var(--muted) / .5);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.5rem}@media (min-width: 768px){.gaming-api-latency-bar{height:.625rem}}.gaming-api-latency-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic);min-width:2px}.gaming-api-latency-bar-legend{display:flex;justify-content:space-between;font-size:.625rem;font-weight:500}@media (min-width: 768px){.gaming-api-latency-bar-legend{font-size:.6875rem}}.gaming-diagnostics-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-top:1rem;overflow:hidden}.gaming-diagnostics-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;background-color:hsl(var(--surface-1));border:none;border-bottom:1px solid hsl(var(--border));cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}.gaming-diagnostics-header:hover{background-color:hsl(var(--muted) / .5)}.gaming-diagnostics-title-row{display:flex;align-items:center;gap:.625rem}.gaming-diagnostics-title{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.gaming-diagnostics-title{font-size:1rem}}.gaming-diagnostics-header svg{color:hsl(var(--muted-foreground))}.gaming-diagnostics-title-row svg{color:hsl(var(--primary))}.gaming-diagnostics-content{padding:.875rem 1rem}@media (min-width: 768px){.gaming-diagnostics-content{padding:1rem}}.gaming-diagnostics-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;color:hsl(var(--muted-foreground))}.gaming-diagnostics-empty svg{opacity:.5}.gaming-diagnostics-empty p{margin:0;font-size:.875rem}.gaming-diagnostics-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border) / .5)}.gaming-diagnostics-section:last-of-type{margin-bottom:.5rem;padding-bottom:0;border-bottom:none}.gaming-diagnostics-section-title{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .625rem}@media (min-width: 768px){.gaming-diagnostics-section-title{font-size:.875rem}}.gaming-diagnostics-section-title svg{color:hsl(var(--primary));width:14px;height:14px}.gaming-diagnostics-info-grid{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 480px){.gaming-diagnostics-info-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.gaming-diagnostics-info-grid{grid-template-columns:repeat(3,1fr)}}.gaming-diagnostics-info-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius) * .5)}.gaming-diagnostics-info-label{font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.02em}@media (min-width: 768px){.gaming-diagnostics-info-label{font-size:.75rem}}.gaming-diagnostics-info-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));word-break:break-word}@media (min-width: 768px){.gaming-diagnostics-info-value{font-size:.875rem}}.gaming-diagnostics-status--success{color:hsl(var(--cute-teal))}.gaming-diagnostics-status--degraded{color:hsl(var(--cute-orange))}.gaming-diagnostics-status--error{color:hsl(var(--destructive))}.gaming-diagnostics-info-value--list{display:block}.gaming-diagnostics-cached-games{display:flex;flex-wrap:wrap;gap:.25rem}.gaming-diagnostics-cached-game-tag{display:inline-block;padding:.125rem .375rem;background-color:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:var(--radius-full);font-size:.6875rem;font-weight:500}.gaming-diagnostics-cached-more{font-size:.6875rem;color:hsl(var(--muted-foreground));font-style:italic}.gaming-diagnostics-updated{display:flex;align-items:center;gap:.375rem;padding-top:.5rem;margin-top:.5rem;border-top:1px solid hsl(var(--border) / .3);font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.gaming-diagnostics-updated{font-size:.75rem}}@media (max-width: 767px){.gaming-tab-container{gap:.75rem}.gaming-tab-header{margin-bottom:.375rem;gap:.125rem}.gaming-tab-title{font-size:1rem}.gaming-tab-subtitle{font-size:.6875rem}.gaming-platform-card{padding:.625rem;margin-bottom:.75rem}.gaming-platform-header{gap:.5rem;margin-bottom:.75rem}.gaming-platform-icon{width:2rem;height:2rem;font-size:1.25rem}.gaming-platform-name{font-size:.875rem}.gaming-input-group{margin-bottom:.5rem;gap:.375rem}.gaming-input-label{font-size:.6875rem}.gaming-input{padding:.5rem .625rem;font-size:.75rem;min-height:2.5rem}.gaming-input-hint{font-size:.625rem}.gaming-button-row{gap:.5rem}.gaming-connect-btn{font-size:.75rem;padding:.5rem .75rem}.discord-server-mode-overlay{padding:.75rem;margin-bottom:.75rem}.discord-server-mode-badge{font-size:.6875rem;padding:.25rem .625rem;gap:.375rem;margin-bottom:.5rem}.discord-server-mode-badge svg{width:.75rem;height:.75rem}.discord-server-mode-message{font-size:.6875rem}.discord-server-mode-message p{margin-bottom:.375rem}.gaming-active-card{padding:.75rem}.gaming-active-title{font-size:.875rem}.gaming-game-display{gap:.5rem}.gaming-game-icon{width:2.5rem;height:2.5rem;font-size:1.25rem}.gaming-game-name{font-size:.875rem}.gaming-game-source,.gaming-genre-label{font-size:.6875rem}.gaming-genre-tag{font-size:.625rem;padding:.125rem .375rem}.gaming-genre-list{gap:.25rem}.gaming-stats-grid{grid-template-columns:1fr!important;gap:.375rem}.gaming-stat-item{padding:.375rem}.gaming-stat-label{font-size:.625rem}.gaming-stat-value{font-size:.875rem}.gaming-bonus-card{padding:.75rem}.gaming-bonus-title{font-size:.875rem}.gaming-bonus-desc{font-size:.6875rem}.gaming-bonus-display{gap:.5rem}.gaming-bonus-value{font-size:1.5rem}.gaming-bonus-name{font-size:.75rem}.gaming-bonus-label .gaming-bonus-desc{font-size:.625rem}.gaming-formula-title{font-size:.6875rem}.gaming-formula-code{font-size:.6875rem;padding:.375rem .5rem}.gaming-breakdown-title{font-size:.75rem;margin-bottom:.5rem}.gaming-breakdown-factor,.gaming-breakdown-factor-header{gap:.25rem}.gaming-breakdown-name{font-size:.6875rem}.gaming-breakdown-value{font-size:.75rem}.gaming-factor-label{font-size:.625rem}.gaming-factor-next-tier{font-size:.5625rem}.gaming-potential-title{font-size:.75rem}.gaming-potential-grid{grid-template-columns:1fr!important;gap:.375rem}.gaming-potential-label{font-size:.625rem}.gaming-potential-value{font-size:.875rem}.gaming-countdown-label{font-size:.6875rem}.gaming-countdown-bar{height:.5rem}.gaming-countdown-text{font-size:.625rem}.gaming-active-indicator{gap:.25rem}.gaming-pulse-dot{width:.375rem;height:.375rem}.gaming-active-text{font-size:.625rem}.gaming-summary-time{font-size:.875rem}.gaming-summary-subtext{font-size:.6875rem}.gaming-games-list{gap:.25rem}.gaming-game-item{font-size:.75rem;gap:.25rem}.gaming-checkmark{width:.75rem;height:.75rem}.gaming-schema-header{padding:.5rem;gap:.375rem}.gaming-schema-title-row{gap:.375rem}.gaming-schema-title{font-size:.75rem}.gaming-schema-content{padding:.5rem;gap:.5rem}.gaming-schema-loading{gap:.375rem}.gaming-schema-spinner{width:1rem;height:1rem}.gaming-schema-loading span{font-size:.6875rem}.gaming-schema-error{gap:.25rem}.gaming-schema-error svg{width:.875rem;height:.875rem}.gaming-schema-error span{font-size:.6875rem}.gaming-schema-game-name{gap:.25rem}.gaming-schema-label{font-size:.625rem}.gaming-schema-value{font-size:.75rem}.gaming-schema-section-group{gap:.375rem}.gaming-schema-group-header{gap:.25rem;font-size:.75rem}.gaming-schema-achievements-list{gap:.375rem}.gaming-schema-achievement-item{padding:.375rem;gap:.375rem}.gaming-schema-achievement-icon{width:1.5rem;height:1.5rem}.gaming-schema-achievement-name{font-size:.75rem}.gaming-schema-achievement-desc{font-size:.6875rem}.gaming-schema-more-items{font-size:.625rem}.gaming-schema-stats-grid{grid-template-columns:1fr!important;gap:.375rem}.gaming-schema-stat-item{padding:.375rem;gap:.25rem}.gaming-schema-stat-name{font-size:.6875rem}.gaming-schema-stat-value{font-size:.75rem}.gaming-schema-empty{gap:.375rem}.gaming-schema-empty svg{width:1rem;height:1rem}.gaming-schema-empty span{font-size:.6875rem}.gaming-api-performance-card{padding:.75rem}.gaming-api-performance-header{gap:.5rem;margin-bottom:.5rem}.gaming-api-performance-title-row{gap:.375rem}.gaming-api-performance-title{font-size:.875rem}.gaming-api-status-badge{font-size:.6875rem;padding:.1875rem .5rem}.gaming-api-metrics-grid{grid-template-columns:repeat(2,1fr)!important;gap:.375rem}.gaming-api-metric{padding:.375rem;gap:.25rem}.gaming-api-metric-label{font-size:.625rem}.gaming-api-metric-value{font-size:.75rem}.gaming-api-latency-bar-container{gap:.375rem}.gaming-api-latency-bar-label{font-size:.6875rem}.gaming-api-latency-bar{height:.375rem}.gaming-api-latency-bar-legend{font-size:.5625rem}.gaming-raw-header{gap:.5rem;margin-bottom:.375rem}.gaming-raw-title{font-size:.875rem}.gaming-raw-subtitle{font-size:.6875rem}.gaming-no-data-text{font-size:.75rem}.gaming-diagnostics-card{margin-top:.75rem}.gaming-diagnostics-header{padding:.5rem .75rem;gap:.5rem}.gaming-diagnostics-title-row{gap:.375rem}.gaming-diagnostics-title{font-size:.75rem}.gaming-diagnostics-content{padding:.5rem .75rem}.gaming-diagnostics-empty{padding:1rem;gap:.375rem}.gaming-diagnostics-empty p{font-size:.6875rem}.gaming-diagnostics-section{margin-bottom:.75rem;padding-bottom:.75rem}.gaming-diagnostics-section-title{font-size:.75rem;gap:.375rem;margin-bottom:.5rem}.gaming-diagnostics-section-title svg{width:.75rem;height:.75rem}.gaming-diagnostics-info-grid{grid-template-columns:1fr!important;gap:.375rem}.gaming-diagnostics-info-item{padding:.375rem;gap:.125rem}.gaming-diagnostics-info-label{font-size:.625rem}.gaming-diagnostics-info-value{font-size:.6875rem}.gaming-diagnostics-cached-games{gap:.1875rem}.gaming-diagnostics-cached-game-tag{font-size:.625rem;padding:.125rem .25rem}.gaming-diagnostics-cached-more{font-size:.625rem}.gaming-diagnostics-updated{padding-top:.375rem;margin-top:.375rem;font-size:.625rem;gap:.25rem}}.export-button-wrapper{display:inline-flex;align-items:center;gap:.25rem}.export-icon{width:1.125rem;height:1.125rem}.export-icon-small{width:.875rem;height:.875rem}.export-icon.spinning{animation:export-spin 1s linear infinite}@keyframes export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-button-icon{position:relative}.export-button-icon .export-button-main{width:2rem;height:2rem;min-height:2rem;padding:0}.export-button-icon .export-button-toggle{position:absolute;right:-.375rem;bottom:-.375rem;width:1.25rem;height:1.25rem;min-height:1.25rem;padding:0;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:50%;opacity:.8;transition:opacity var(--duration-fast) var(--ease-out-cubic)}.export-button-icon:hover .export-button-toggle{opacity:1}.export-button-icon .export-button-toggle:hover{background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.export-button-single{width:2rem;height:2rem;min-height:2rem}.export-button-compact .export-button-main{flex:1}.export-button-compact .export-button-toggle{width:1.75rem;height:1.75rem;min-height:1.75rem;padding:0}.export-button-full{gap:.5rem}.export-button-full .export-button-copy,.export-button-full .export-button-download{min-width:5rem}.export-button-label{color:hsl(var(--foreground-muted));font-size:.75rem;margin-left:.25rem}.export-button-wrapper .button:hover:not(:disabled){transform:scale(1.02)}.export-button-wrapper .button:active:not(:disabled){transform:scale(.98)}@media (max-width: 640px){.export-button-full{flex-direction:column;align-items:stretch}.export-button-full .export-button-label{display:none}.export-button-icon .export-button-toggle{width:1rem;height:1rem;min-height:1rem;right:-.25rem;bottom:-.25rem}}@media (prefers-color-scheme: dark){.export-button-icon .export-button-toggle{background-color:hsl(var(--surface-3))}}.party-analyzer-card{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:.75rem}@media (min-width: 768px){.party-analyzer-card{padding:1rem 1.25rem;gap:1rem;margin-bottom:1rem}}.party-analyzer-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.party-analyzer-title{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}.party-analyzer-title svg{color:hsl(var(--primary))}.party-analyzer-party-size{font-size:.75rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));padding:.125rem .5rem;border-radius:9999px}.party-analyzer-header-actions{display:flex;align-items:center;gap:.5rem}.party-analyzer-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.5rem}@media (min-width: 640px){.party-analyzer-stats-grid{grid-template-columns:repeat(5,1fr);gap:.75rem}}.party-analyzer-stat{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background-color:hsl(var(--muted) / .5);border-radius:.375rem;transition:background-color .2s ease}.party-analyzer-stat:hover{background-color:hsl(var(--muted))}@media (min-width: 768px){.party-analyzer-stat{padding:.625rem .75rem}}.party-analyzer-stat-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary) / .8));border-radius:.25rem;color:hsl(var(--primary-foreground));flex-shrink:0}.party-analyzer-stat-content{flex:1;min-width:0}.party-analyzer-stat-label{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:.125rem}.party-analyzer-stat-value{font-size:.875rem;font-weight:700;color:hsl(var(--foreground));line-height:1.2}@media (min-width: 768px){.party-analyzer-stat-value{font-size:1rem}}.party-analyzer-stat-subtitle{font-size:.625rem;color:hsl(var(--muted-foreground));margin-top:.125rem}.party-analyzer-xp-section{padding-top:.75rem;border-top:1px solid hsl(var(--border))}.party-analyzer-xp-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.party-analyzer-xp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 640px){.party-analyzer-xp-grid{grid-template-columns:repeat(4,1fr);gap:.625rem}}.party-analyzer-xp-card{display:flex;flex-direction:column;align-items:center;padding:.5rem;border-radius:.375rem;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease}.party-analyzer-xp-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.party-analyzer-xp-difficulty{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.125rem}.party-analyzer-xp-value{font-size:.75rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.party-analyzer-xp-value{font-size:.8125rem}}.difficulty-easy{background:linear-gradient(135deg,#16a24926,#16a2490d);border-color:#16a24966}.difficulty-easy .party-analyzer-xp-difficulty{color:#16a249}.difficulty-easy:hover{background:linear-gradient(135deg,#16a24933,#16a2491a);border-color:#16a24980}.difficulty-medium{background:linear-gradient(135deg,#e7b00826,#e7b0080d);border-color:#e7b00866}.difficulty-medium .party-analyzer-xp-difficulty{color:#e7b008}.difficulty-medium:hover{background:linear-gradient(135deg,#e7b00833,#e7b0081a);border-color:#e7b00880}.difficulty-hard{background:linear-gradient(135deg,#f9741526,#f974150d);border-color:#f9741566}.difficulty-hard .party-analyzer-xp-difficulty{color:#f97415}.difficulty-hard:hover{background:linear-gradient(135deg,#f9741533,#f974151a);border-color:#f9741580}.difficulty-deadly{background:linear-gradient(135deg,#dc282826,#dc28280d);border-color:#dc282866}.difficulty-deadly .party-analyzer-xp-difficulty{color:#dc2828}.difficulty-deadly:hover{background:linear-gradient(135deg,#dc282833,#dc28281a);border-color:#dc282880}.party-analyzer-composition-section{padding-top:.75rem;border-top:1px solid hsl(var(--border))}.party-analyzer-composition-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.party-analyzer-class-badges{display:flex;flex-wrap:wrap;gap:.375rem}.party-analyzer-class-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:hsl(var(--muted) / .5);border-radius:.25rem;font-size:.6875rem;color:hsl(var(--foreground));transition:background-color .2s ease}.party-analyzer-class-badge:hover{background-color:hsl(var(--muted))}.party-analyzer-class-icon{font-size:.75rem}.party-analyzer-class-name{font-weight:500}.party-analyzer-class-count{color:hsl(var(--muted-foreground));font-size:.625rem;margin-left:.125rem}.party-analyzer-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 1rem;text-align:center}.party-analyzer-empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.party-analyzer-empty-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.25rem}.party-analyzer-empty-text{font-size:.75rem;color:hsl(var(--muted-foreground))}.party-analyzer-card-loading{pointer-events:none}.party-analyzer-skeleton-title{width:120px;height:1rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.25rem}.party-analyzer-stat-skeleton{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .625rem;background-color:hsl(var(--muted) / .3);border-radius:.375rem}.party-analyzer-skeleton-icon{width:1.5rem;height:1.5rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.25rem;flex-shrink:0}.party-analyzer-skeleton-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.party-analyzer-skeleton-label{width:60%;height:.625rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.125rem}.party-analyzer-skeleton-value{width:40%;height:1rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.125rem}.party-analyzer-xp-section-skeleton{padding-top:.75rem;border-top:1px solid hsl(var(--border))}.party-analyzer-skeleton-section-title{width:140px;height:.75rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.125rem;margin-bottom:.5rem}.party-analyzer-xp-skeleton{height:2.5rem;background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:.375rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes party-analyzer-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.party-analyzer-card-loaded .party-analyzer-stat{animation:party-analyzer-fade-in .3s ease forwards}.party-analyzer-card-loaded .party-analyzer-stat:nth-child(1){animation-delay:0ms}.party-analyzer-card-loaded .party-analyzer-stat:nth-child(2){animation-delay:40ms}.party-analyzer-card-loaded .party-analyzer-stat:nth-child(3){animation-delay:80ms}.party-analyzer-card-loaded .party-analyzer-stat:nth-child(4){animation-delay:.12s}.party-analyzer-card-loaded .party-analyzer-stat:nth-child(5){animation-delay:.16s}.party-analyzer-card-loaded .party-analyzer-xp-card{animation:party-analyzer-fade-in .3s ease forwards}.party-analyzer-card-loaded .party-analyzer-xp-card:nth-child(1){animation-delay:.2s}.party-analyzer-card-loaded .party-analyzer-xp-card:nth-child(2){animation-delay:.24s}.party-analyzer-card-loaded .party-analyzer-xp-card:nth-child(3){animation-delay:.28s}.party-analyzer-card-loaded .party-analyzer-xp-card:nth-child(4){animation-delay:.32s}.party-analyzer-card-loaded .party-analyzer-class-badge{animation:party-analyzer-fade-in .3s ease forwards}@media (max-width: 767px){.party-analyzer-card,.party-analyzer-stats-grid,.party-analyzer-xp-grid,.party-analyzer-class-badges{width:100%;min-width:0;overflow:hidden}.party-analyzer-title{font-size:.8rem}.party-analyzer-party-size{font-size:.6875rem}.party-analyzer-stat-label{font-size:.5625rem}.party-analyzer-stat-value{font-size:.8rem}.party-analyzer-stat-subtitle{font-size:.5625rem}.party-analyzer-xp-title{font-size:.625rem}.party-analyzer-xp-difficulty{font-size:.5625rem}.party-analyzer-xp-value{font-size:.6875rem}.party-analyzer-composition-title,.party-analyzer-class-badge{font-size:.625rem}.party-analyzer-class-count{font-size:.5625rem}.party-analyzer-card{padding:.6rem .75rem;gap:.6rem;margin-bottom:.6rem}.party-analyzer-stats-grid{gap:.4rem}.party-analyzer-stat{padding:.4rem .5rem}.party-analyzer-xp-section{padding-top:.6rem}.party-analyzer-xp-grid{gap:.4rem}.party-analyzer-xp-card{padding:.4rem}.party-analyzer-composition-section{padding-top:.6rem}.party-analyzer-class-badges{gap:.3rem}.party-analyzer-class-badge{padding:.2rem .4rem}.party-analyzer-stats-grid,.party-analyzer-xp-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.party-analyzer-stats-grid,.party-analyzer-xp-grid{grid-template-columns:repeat(2,1fr)}}.template-browser{background-color:hsl(var(--muted) / .5);border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:hidden}.template-browser-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-left:3px solid hsl(217 70% 55%);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all var(--duration-fast) ease}@media (min-width: 768px){.template-browser-header{padding:1rem}}.template-browser-header:hover{background-color:#3c7add1a;border-color:#3c7add4d}.template-browser-header:focus-visible{outline:2px solid hsl(217 70% 55%);outline-offset:2px}.template-browser-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.template-browser-title{font-size:1rem}}.template-browser-count{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--background) / .5);padding:.125rem .5rem;border-radius:9999px}@media (min-width: 768px){.template-browser-count{font-size:.6875rem}}.template-browser-expand-icon{font-size:.625rem;color:hsl(var(--muted-foreground));transition:transform .2s ease}@media (min-width: 768px){.template-browser-expand-icon{font-size:.75rem}}.template-browser-expanded{transform:rotate(180deg)}.template-browser-content{padding:0 .75rem .75rem;display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.template-browser-content{padding:0 1rem 1rem;gap:1rem}}.template-browser-filters{display:grid;grid-template-columns:1fr;gap:.5rem;padding:.5rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius)}@media (min-width: 640px){.template-browser-filters{grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem}}@media (min-width: 768px){.template-browser-filters{grid-template-columns:2fr 1fr 1fr auto;align-items:end}}.template-browser-filter-group{display:flex;flex-direction:column;gap:.25rem;min-width:0}.template-browser-filter-label{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.template-browser-filter-label{font-size:.6875rem}}.template-browser-search{grid-column:1 / -1}@media (min-width: 640px){.template-browser-search{grid-column:span 2}}@media (min-width: 768px){.template-browser-search{grid-column:span 1}}.template-browser-search-input,.template-browser-filter-select{padding:.5rem .625rem;font-size:.75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));min-height:2rem}@media (min-width: 768px){.template-browser-search-input,.template-browser-filter-select{font-size:.8125rem;padding:.5rem .75rem;min-height:2.25rem}}.template-browser-search-input:focus,.template-browser-filter-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.template-browser-search-input{width:100%;max-width:100%;box-sizing:border-box}.template-browser-filter-select{cursor:pointer}.template-browser-clear-btn{padding:.5rem .75rem;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:2rem}@media (min-width: 768px){.template-browser-clear-btn{font-size:.75rem;padding:.5rem 1rem;min-height:2.25rem}}.template-browser-clear-btn:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.template-browser-results-info{font-size:.625rem;color:hsl(var(--muted-foreground));padding-left:.25rem}@media (min-width: 768px){.template-browser-results-info{font-size:.6875rem}}.template-browser-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}@media (min-width: 640px){.template-browser-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}}@media (min-width: 1024px){.template-browser-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.template-browser-card{padding:.625rem;background-color:hsl(var(--background) / .5);border:2px solid transparent;border-radius:var(--radius);cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:.375rem}@media (min-width: 768px){.template-browser-card{padding:.75rem;gap:.5rem}}.template-browser-card:hover{background-color:hsl(var(--accent) / .3);border-color:hsl(var(--border))}.template-browser-card-selected{border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .1)}.template-browser-card-selected:hover{background-color:hsl(var(--primary) / .15)}.template-browser-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.template-browser-card-name{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.template-browser-card-name{font-size:.875rem}}.template-browser-card-selected-badge{font-size:.5625rem;font-weight:600;color:hsl(var(--primary-foreground));background-color:hsl(var(--primary));padding:.125rem .375rem;border-radius:9999px;white-space:nowrap}@media (min-width: 768px){.template-browser-card-selected-badge{font-size:.625rem;padding:.125rem .5rem}}.template-browser-card-badges{display:flex;flex-wrap:wrap;gap:.375rem}.template-browser-card-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.5625rem;font-weight:500;padding:.125rem .375rem;border-radius:9999px;white-space:nowrap}@media (min-width: 768px){.template-browser-card-badge{font-size:.625rem;padding:.125rem .5rem}}.template-browser-card-badge-category{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.template-browser-card-badge-archetype{color:#fff}.template-browser-card-ability{display:flex;align-items:center;gap:.25rem}.template-browser-card-ability-label{font-size:.5625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.template-browser-card-ability-label{font-size:.625rem}}.template-browser-card-ability-name{font-size:.625rem;font-weight:500;color:hsl(var(--primary))}@media (min-width: 768px){.template-browser-card-ability-name{font-size:.6875rem}}.template-browser-card-ability-desc{font-size:.5625rem;color:hsl(var(--muted-foreground));line-height:1.4}@media (min-width: 768px){.template-browser-card-ability-desc{font-size:.625rem}}.template-browser-card-defenses{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem;padding-top:.375rem;border-top:1px solid hsl(var(--border) / .5)}.template-browser-card-resistances,.template-browser-card-immunities{display:flex;align-items:center;gap:.25rem}.template-browser-card-defense-label{font-size:.5625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.template-browser-card-defense-label{font-size:.625rem}}.template-browser-card-defense-icons{display:flex;gap:.125rem}.template-browser-card-defense-icon{font-size:.6875rem;opacity:.9}@media (min-width: 768px){.template-browser-card-defense-icon{font-size:.75rem}}.template-browser-card-defense-icon-immunity{opacity:1;filter:brightness(1.2)}.template-browser-card-id{font-size:.5625rem;color:hsl(var(--muted-foreground) / .7);font-family:monospace;margin-top:.25rem}@media (min-width: 768px){.template-browser-card-id{font-size:.625rem}}.template-browser-empty{padding:2rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem;background-color:hsl(var(--background) / .3);border-radius:var(--radius)}@media (min-width: 768px){.template-browser-empty{font-size:.875rem}}.template-browser-help{font-size:.5625rem;color:hsl(var(--muted-foreground));padding:.5rem;background-color:hsl(var(--background) / .3);border-radius:var(--radius);text-align:center}@media (min-width: 768px){.template-browser-help{font-size:.625rem;padding:.625rem}}@media (max-width: 767px){.template-browser,.template-browser-content,.template-browser-filters,.template-browser-grid{width:100%;min-width:0;overflow:hidden}.template-browser-title{font-size:.8rem}.template-browser-count,.template-browser-filter-label{font-size:.5625rem}.template-browser-search-input,.template-browser-filter-select{font-size:.6875rem;padding:.45rem .55rem;min-height:2rem}.template-browser-clear-btn{font-size:.625rem;padding:.45rem .6rem;min-height:2rem}.template-browser-results-info{font-size:.5625rem}.template-browser-card{padding:.5rem;gap:.3rem}.template-browser-card-name{font-size:.75rem}.template-browser-card-selected-badge,.template-browser-card-badge{font-size:.5rem;padding:.1rem .3rem}.template-browser-card-ability-label{font-size:.5rem}.template-browser-card-ability-name{font-size:.5625rem}.template-browser-card-ability-desc,.template-browser-card-defense-label{font-size:.5rem}.template-browser-card-defense-icon{font-size:.625rem}.template-browser-card-id{font-size:.5rem}.template-browser-empty{font-size:.6875rem;padding:1.5rem}.template-browser-help{font-size:.5rem;padding:.4rem}.template-browser-header{padding:.6rem}.template-browser-content{padding:0 .6rem .6rem;gap:.6rem}.template-browser-filters{padding:.4rem;gap:.4rem}.template-browser-filter-group{gap:.2rem}.template-browser-grid{gap:.4rem}.template-browser-card-badges{gap:.3rem}.template-browser-card-defenses{margin-top:.2rem;padding-top:.3rem}.template-browser-card-resistances,.template-browser-card-immunities{gap:.2rem}.template-browser-card-defense-icons{gap:.1rem}.template-browser-filters{grid-template-columns:1fr}.template-browser-search{grid-column:1 / -1}.template-browser-grid{grid-template-columns:1fr}.template-browser-card-header{flex-wrap:wrap;gap:.4rem}.template-browser-clear-btn{white-space:nowrap}}.encounter-summary-panel{padding:.75rem;background-color:hsl(var(--background) / .6);border:2px solid hsl(var(--border));border-radius:var(--radius);margin-top:.75rem}@media (min-width: 768px){.encounter-summary-panel{padding:1rem;margin-top:1rem}}.encounter-summary-compact{padding:.5rem}.encounter-summary-compact .encounter-summary-types-section,.encounter-summary-compact .encounter-summary-comparison-section,.encounter-summary-compact .encounter-summary-challenge{display:none}.encounter-summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .3)}.encounter-summary-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.encounter-summary-title{font-size:1rem}}.encounter-summary-rating{font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.encounter-summary-rating{font-size:.875rem;padding:.25rem .75rem}}.encounter-summary-header-actions{display:flex;align-items:center;gap:.5rem}.encounter-summary-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.75rem}@media (min-width: 640px){.encounter-summary-stats-grid{grid-template-columns:repeat(4,1fr);gap:.75rem}}.encounter-summary-stat{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius-sm)}.encounter-summary-stat-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));flex-shrink:0}.encounter-summary-stat-content{display:flex;flex-direction:column;min-width:0}.encounter-summary-stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.encounter-summary-stat-label{font-size:.6875rem}}.encounter-summary-stat-value{font-size:.875rem;font-weight:700;color:hsl(var(--foreground))}@media (min-width: 768px){.encounter-summary-stat-value{font-size:1rem}}.encounter-summary-stat-subtitle{font-size:.5625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.encounter-summary-stat-subtitle{font-size:.625rem}}.encounter-summary-types-section{padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3);margin-bottom:.75rem}.encounter-summary-types-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}@media (min-width: 768px){.encounter-summary-types-title{font-size:.75rem}}.encounter-summary-types-grid{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}@media (min-width: 768px){.encounter-summary-types-grid{gap:.5rem}}.encounter-summary-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:hsl(var(--muted) / .5);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);font-size:.6875rem}@media (min-width: 768px){.encounter-summary-type-badge{font-size:.75rem;padding:.25rem .625rem}}.encounter-summary-type-icon{font-size:.75rem}.encounter-summary-type-name{font-weight:500}.encounter-summary-type-count{font-weight:600;color:hsl(var(--muted-foreground));margin-left:.125rem}.encounter-summary-enemy-list{display:flex;flex-direction:column;gap:.5rem}.encounter-summary-enemy-category{padding:.5rem;background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm)}.encounter-summary-category-header{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.375rem;padding-bottom:.25rem;border-bottom:1px solid hsl(var(--border) / .2)}@media (min-width: 768px){.encounter-summary-category-header{font-size:.75rem}}.encounter-summary-category-count{font-size:.625rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .5);padding:.125rem .375rem;border-radius:var(--radius-sm)}.encounter-summary-category-enemies{display:flex;flex-direction:column;gap:.25rem}.encounter-summary-enemy-item{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;padding:.125rem 0}@media (min-width: 768px){.encounter-summary-enemy-item{font-size:.75rem}}.encounter-summary-enemy-name{color:hsl(var(--foreground));font-weight:500}.encounter-summary-enemy-level{color:hsl(var(--muted-foreground));font-size:.625rem}@media (min-width: 768px){.encounter-summary-enemy-level{font-size:.6875rem}}.encounter-summary-comparison-section{padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3);margin-bottom:.75rem}.encounter-summary-comparison-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}@media (min-width: 768px){.encounter-summary-comparison-title{font-size:.75rem}}.encounter-summary-thresholds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}@media (min-width: 640px){.encounter-summary-thresholds-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}}.encounter-summary-threshold{display:flex;flex-direction:column;align-items:center;padding:.375rem .5rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius-sm);text-align:center}.encounter-summary-threshold-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.encounter-summary-threshold-label{font-size:.625rem}}.encounter-summary-threshold-value{font-size:.6875rem;font-weight:700}@media (min-width: 768px){.encounter-summary-threshold-value{font-size:.75rem}}.encounter-summary-challenge{padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.encounter-summary-challenge-bar{height:.375rem;background-color:hsl(var(--muted) / .5);border-radius:9999px;overflow:hidden;margin-bottom:.375rem}.encounter-summary-challenge-fill{height:100%;border-radius:9999px;transition:width .3s ease}.encounter-summary-challenge-label{font-size:.6875rem;text-align:center;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.encounter-summary-challenge-label{font-size:.75rem}}.encounter-summary-balance{margin-top:.75rem;padding:.625rem .75rem;background-color:hsl(var(--primary) / .06);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-sm)}.encounter-summary-balance-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem;color:hsl(var(--primary))}.encounter-summary-balance-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.encounter-summary-balance-runs{margin-left:auto;font-size:.625rem;color:hsl(var(--muted-foreground));font-weight:500}.encounter-summary-balance-body{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;margin-bottom:.375rem}.encounter-summary-balance-winrate{font-size:1.25rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.encounter-summary-balance-assessment{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.encounter-summary-balance-tier{font-weight:700}.encounter-summary-balance-link{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;font-weight:600;color:hsl(var(--primary));background:none;border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.encounter-summary-balance-link:hover{background-color:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .5)}.encounter-summary-balance-link:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}@media (min-width: 768px){.encounter-summary-balance{margin-top:1rem;padding:.75rem 1rem}.encounter-summary-balance-title{font-size:.75rem}.encounter-summary-balance-runs{font-size:.6875rem}.encounter-summary-balance-winrate{font-size:1.5rem}.encounter-summary-balance-assessment{font-size:.8125rem}.encounter-summary-balance-link{font-size:.75rem;padding:.375rem .625rem}}.encounter-summary-compact .encounter-summary-balance{display:none}@media (max-width: 767px){.encounter-summary-panel,.encounter-summary-stats-grid,.encounter-summary-types-grid,.encounter-summary-enemy-list,.encounter-summary-comparison-section,.encounter-summary-thresholds-grid,.encounter-summary-balance{width:100%;min-width:0;overflow:hidden}.encounter-summary-title{font-size:.8rem}.encounter-summary-rating{font-size:.6875rem;padding:.2rem .4rem}.encounter-summary-stat-label{font-size:.5625rem}.encounter-summary-stat-value{font-size:.8rem}.encounter-summary-stat-subtitle{font-size:.5rem}.encounter-summary-types-title{font-size:.625rem}.encounter-summary-type-badge{font-size:.625rem;padding:.2rem .4rem}.encounter-summary-category-header{font-size:.625rem}.encounter-summary-category-count{font-size:.5625rem}.encounter-summary-enemy-item{font-size:.625rem}.encounter-summary-enemy-level{font-size:.5625rem}.encounter-summary-comparison-title{font-size:.625rem}.encounter-summary-threshold-label{font-size:.5rem}.encounter-summary-threshold-value,.encounter-summary-challenge-label,.encounter-summary-balance-title{font-size:.625rem}.encounter-summary-balance-runs{font-size:.5625rem}.encounter-summary-balance-winrate{font-size:1.1rem}.encounter-summary-balance-assessment{font-size:.6875rem}.encounter-summary-balance-link{font-size:.625rem;padding:.2rem .4rem}.encounter-summary-panel{padding:.5rem;margin-top:.5rem}.encounter-summary-header{margin-bottom:.5rem;padding-bottom:.4rem}.encounter-summary-stats-grid{gap:.4rem;margin-bottom:.5rem}.encounter-summary-stat{padding:.4rem}.encounter-summary-types-section{padding-top:.5rem;margin-bottom:.5rem}.encounter-summary-types-grid{gap:.3rem;margin-bottom:.5rem}.encounter-summary-enemy-category{padding:.4rem}.encounter-summary-category-header{margin-bottom:.3rem;padding-bottom:.2rem}.encounter-summary-enemy-list{gap:.4rem}.encounter-summary-comparison-section{padding-top:.5rem;margin-bottom:.5rem}.encounter-summary-thresholds-grid{gap:.3rem}.encounter-summary-threshold{padding:.3rem .4rem}.encounter-summary-challenge{padding-top:.5rem}.encounter-summary-challenge-bar{margin-bottom:.3rem}.encounter-summary-balance{margin-top:.5rem;padding:.5rem .6rem}.encounter-summary-balance-header{gap:.3rem;margin-bottom:.3rem}.encounter-summary-balance-body{margin-bottom:.3rem}.encounter-summary-stats-grid,.encounter-summary-thresholds-grid{grid-template-columns:repeat(2,1fr)}.encounter-summary-types-grid{gap:.3rem}}:root{--rarity-common-h: 28;--rarity-common-s: 40%;--rarity-common-l: 45%;--rarity-common-bg: hsl(28 30% 94%);--rarity-common-border: hsl(28 40% 65%);--rarity-common-text: hsl(28 40% 35%);--rarity-common-glow: hsl(28 50% 50% / .2);--rarity-uncommon-h: 152;--rarity-uncommon-s: 65%;--rarity-uncommon-l: 40%;--rarity-uncommon-bg: hsl(152 45% 92%);--rarity-uncommon-border: hsl(152 60% 45%);--rarity-uncommon-text: hsl(152 65% 28%);--rarity-uncommon-glow: hsl(152 60% 50% / .25);--rarity-elite-h: 275;--rarity-elite-s: 55%;--rarity-elite-l: 45%;--rarity-elite-bg: hsl(275 40% 93%);--rarity-elite-border: hsl(275 55% 50%);--rarity-elite-text: hsl(275 55% 32%);--rarity-elite-glow: hsl(275 55% 55% / .35);--rarity-boss-h: 43;--rarity-boss-s: 85%;--rarity-boss-l: 50%;--rarity-boss-bg: hsl(43 70% 88%);--rarity-boss-border: hsl(43 85% 55%);--rarity-boss-text: hsl(43 90% 30%);--rarity-boss-glow: hsl(43 90% 55% / .45)}@media (prefers-color-scheme: dark){:root{--rarity-common-bg: hsl(28 25% 18%);--rarity-common-border: hsl(28 35% 45%);--rarity-common-text: hsl(28 40% 70%);--rarity-common-glow: hsl(28 50% 45% / .25);--rarity-uncommon-bg: hsl(152 35% 12%);--rarity-uncommon-border: hsl(152 55% 42%);--rarity-uncommon-text: hsl(152 60% 65%);--rarity-uncommon-glow: hsl(152 60% 45% / .3);--rarity-elite-bg: hsl(275 30% 14%);--rarity-elite-border: hsl(275 50% 55%);--rarity-elite-text: hsl(275 55% 75%);--rarity-elite-glow: hsl(275 55% 60% / .4);--rarity-boss-bg: hsl(43 50% 14%);--rarity-boss-border: hsl(43 85% 55%);--rarity-boss-text: hsl(43 90% 70%);--rarity-boss-glow: hsl(43 95% 55% / .5)}}.combat-container{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.combat-container{gap:1.5rem}}.combat-header{display:flex;align-items:center;justify-content:space-between}.combat-title{font-size:1.125rem;font-weight:700}@media (min-width: 768px){.combat-title{font-size:1.25rem}}.combat-header-actions{display:flex;align-items:center;gap:.75rem}.combat-prompt{font-size:.875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-prompt{font-size:1rem}}.combat-generate-button{width:100%}@media (min-width: 640px){.combat-generate-button{width:auto}}.combat-button-base{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.75rem 1rem;border-radius:.375rem;font-weight:500;font-size:.875rem;border:none;cursor:pointer;transition:opacity var(--duration-fast) ease;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-button-base:hover{opacity:.9}@media (min-width: 768px){.combat-button-base{padding:.5rem 1rem;min-height:2.5rem;font-size:1rem}}.combat-content{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.combat-content{gap:1.5rem}}.combat-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 768px){.combat-stats{gap:1rem}}.combat-stat-text{font-size:.75rem}@media (min-width: 768px){.combat-stat-text{font-size:.875rem}}.combat-stat-padding{padding:.5rem}@media (min-width: 768px){.combat-stat-padding{padding:0}}.combat-stat-bold{font-weight:700}.combat-controls{padding:.75rem;background-color:hsl(var(--muted));border-radius:var(--radius)}@media (min-width: 768px){.combat-controls{padding:1rem}}.combat-controls-title{font-weight:700;margin-bottom:.5rem;font-size:.875rem}@media (min-width: 768px){.combat-controls-title{margin-bottom:.75rem;font-size:1rem}}.combat-controls-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:.5rem}@media (min-width: 768px){.combat-controls-description{margin-bottom:.75rem;font-size:.875rem}}.combat-controls-section{margin-bottom:.5rem}@media (min-width: 768px){.combat-controls-section{margin-bottom:.75rem}}.combat-controls-label{font-size:.875rem;font-weight:600;margin-bottom:.5rem}@media (min-width: 768px){.combat-controls-label{font-size:.875rem}}.combat-attacks-empty{font-size:.875rem;color:hsl(var(--muted-foreground))}.combat-unarmed-attack{display:flex;align-items:center;font-size:.75rem}@media (min-width: 768px){.combat-unarmed-attack{font-size:.875rem}}.combat-attack-badge{background-color:hsl(var(--background));padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));font-size:.75rem}@media (min-width: 768px){.combat-attack-badge{font-size:.875rem}}.combat-attack-muted{color:hsl(var(--muted-foreground));margin-left:.5rem}.combat-attacks-grid{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-attacks-grid{gap:.5rem}}.combat-attack-card{background-color:hsl(var(--background));padding:.5rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));font-size:.75rem}@media (min-width: 768px){.combat-attack-card{padding:.75rem 1rem;font-size:.875rem}}.combat-attack-name{font-weight:600;font-size:.75rem}@media (min-width: 768px){.combat-attack-name{font-size:.875rem}}.combat-attack-damage{font-size:.625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-attack-damage{font-size:.75rem}}.combat-targets-grid{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-targets-grid{gap:.5rem}}.combat-target-button{padding:.5rem;min-height:2.75rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));font-size:.75rem;text-align:left;transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}.combat-target-button:hover{background-color:hsl(var(--accent))}.combat-target-button-selected{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}@media (min-width: 768px){.combat-target-button{padding:.75rem 1rem;font-size:.875rem}}.combat-target-name{font-weight:600}.combat-target-hp{font-size:.625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-target-hp{font-size:.75rem}}.combat-target-hp-full{color:hsl(var(--cute-teal))}.combat-target-hp-damaged{color:hsl(var(--cute-yellow))}.combat-target-hp-critical{color:hsl(var(--cute-pink))}.combat-area{display:flex;flex-direction:column;gap:1rem}@media (min-width: 1024px){.combat-area{flex-direction:row;gap:1.5rem}}.combat-initiative{width:100%}@media (min-width: 1024px){.combat-initiative{width:25%}}.combat-initiative-inner{background-color:hsl(var(--muted));border-radius:var(--radius);padding:.75rem;position:sticky;top:1rem}@media (min-width: 768px){.combat-initiative-inner{padding:1rem}}.combat-initiative-title{font-weight:700;margin-bottom:.5rem;font-size:.75rem}@media (min-width: 768px){.combat-initiative-title{margin-bottom:.75rem;font-size:.875rem}}.combat-initiative-list{display:flex;flex-direction:column;gap:.25rem}@media (min-width: 768px){.combat-initiative-list{gap:.5rem}}.combat-initiative-item{font-size:.625rem;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background))}@media (min-width: 768px){.combat-initiative-item{font-size:.75rem;padding:.5rem 1rem}}.combat-initiative-item-current{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.combat-initiative-item-defeated{opacity:.5;text-decoration:line-through}.combat-initiative-row{display:flex;align-items:center;gap:.25rem}@media (min-width: 768px){.combat-initiative-row{gap:.5rem}}.combat-initiative-number{font-weight:700;width:1.25rem;font-size:.625rem}@media (min-width: 768px){.combat-initiative-number{width:1.25rem;font-size:.75rem}}.combat-initiative-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem}@media (min-width: 768px){.combat-initiative-name{font-size:.75rem}}.combat-initiative-value{font-family:ui-monospace,monospace;font-size:.625rem}@media (min-width: 768px){.combat-initiative-value{font-size:.75rem}}.combat-initiative-group{margin-bottom:.75rem}.combat-initiative-group:last-child{margin-bottom:0}.combat-initiative-group-header{display:flex;align-items:center;gap:.25rem;font-size:.625rem;font-weight:700;padding:.25rem .5rem;margin-bottom:.25rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.combat-initiative-group-header{font-size:.75rem;padding:.375rem .75rem;margin-bottom:.5rem}}.combat-initiative-group-icon{font-size:.625rem}@media (min-width: 768px){.combat-initiative-group-icon{font-size:.75rem}}.combat-initiative-group-party{background-color:#06c;color:#fff}.combat-initiative-group-enemy{background-color:#c32222;color:#fff}.combat-initiative-item-party{border-left:2px solid hsl(210,100%,40%)}.combat-initiative-item-enemy{border-left:2px solid hsl(0,70%,45%)}.combat-combatants{width:100%}@media (min-width: 1024px){.combat-combatants{width:75%}}.combat-combatants-split{display:flex;flex-direction:column;gap:1rem}.combat-combatants-group{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.75rem;background-color:hsl(var(--card))}@media (min-width: 768px){.combat-combatants-group{padding:1rem}}.combat-combatants-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border))}.combat-combatants-group-title{font-size:.875rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-combatants-group-title{font-size:1rem}}.combat-combatants-group-summary{font-size:.75rem;color:hsl(var(--muted-foreground))}.combat-combatants-party{border-left:3px solid hsl(217 70% 50%);background-color:#f5f7fa}@media (prefers-color-scheme: dark){.combat-combatants-party{background-color:#181d25}}.combat-combatants-party .combat-combatants-group-title{color:#266bd9}.combat-combatants-enemies{border-left:3px solid hsl(0 70% 50%);background-color:#faf5f5}@media (prefers-color-scheme: dark){.combat-combatants-enemies{background-color:#251818}}.combat-combatants-enemies .combat-combatants-group-title{color:#d92626}.combat-combatants-group .combat-combatants-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.5rem}@media (min-width: 768px){.combat-combatants-group .combat-combatants-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}.combat-combatants-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.5rem}@media (min-width: 768px){.combat-combatants-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.combat-combatant-card{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.75rem}@media (min-width: 768px){.combat-combatant-card{padding:1rem}}.combat-combatant-card-current{box-shadow:0 0 0 2px hsl(var(--primary))}.combat-combatant-card-current-party{box-shadow:0 0 0 3px #3c7add,0 0 15px #3c7add66,0 0 30px #3c7add33;animation:combat-party-turn-glow 1.5s ease-in-out infinite}@keyframes combat-party-turn-glow{0%,to{box-shadow:0 0 0 3px #3c7add,0 0 15px #3c7add66,0 0 30px #3c7add33}50%{box-shadow:0 0 0 3px #5288e0,0 0 20px #3c7add99,0 0 40px #3c7add4d}}.combat-combatant-badge-your-turn{font-size:.625rem;font-weight:700;background:linear-gradient(135deg,#3c7add,#4786eb);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);animation:combat-badge-pulse 1s ease-in-out infinite;text-transform:uppercase;letter-spacing:.05em}@keyframes combat-badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media (min-width: 768px){.combat-combatant-badge-your-turn{font-size:.75rem;padding:.375rem .625rem}}.combat-initiative-item-current-party{background:linear-gradient(135deg,#3c7add,#336ecc);color:#fff;border-color:#3c7add;animation:combat-initiative-party-pulse 1.5s ease-in-out infinite}@keyframes combat-initiative-party-pulse{0%,to{background:linear-gradient(135deg,#3c7add,#336ecc);box-shadow:0 0 #d9b38c00}50%{background:linear-gradient(135deg,#5288e0,#477cd1);box-shadow:0 2px 8px #3c7add4d}}@media (prefers-color-scheme: dark){.combat-combatant-card-current-party{box-shadow:0 0 0 3px #5288e0,0 0 20px #5288e080,0 0 40px #5288e04d}@keyframes combat-party-turn-glow{0%,to{box-shadow:0 0 0 3px #5288e0,0 0 20px #5288e080,0 0 40px #5288e04d}50%{box-shadow:0 0 0 3px #6797e4,0 0 25px #5288e0b3,0 0 50px #5288e066}}}.combat-combatant-card-defeated{opacity:.5}.combat-combatant-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}@media (min-width: 768px){.combat-combatant-header{margin-bottom:.5rem}}.combat-combatant-name{font-weight:700;font-size:.875rem}@media (min-width: 768px){.combat-combatant-name{font-size:1rem}}.combat-combatant-class{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-combatant-class{font-size:.875rem}}.combat-combatant-badge{font-size:.625rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:.25rem .5rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-combatant-badge{font-size:.75rem}}.combat-combatant-hp-section{margin-bottom:.25rem}@media (min-width: 768px){.combat-combatant-hp-section{margin-bottom:.5rem}}.combat-combatant-hp-header{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:.25rem}.combat-combatant-hp-bar{width:100%;background-color:#e0e4eb;border-radius:var(--radius-full);height:.375rem;overflow:hidden}@media (min-width: 768px){.combat-combatant-hp-bar{height:.5rem}}.combat-combatant-hp-fill{height:100%;border-radius:var(--radius-full)}.combat-combatant-hp-fill-green{background-color:#1fe066}.combat-combatant-hp-fill-yellow{background-color:#facc14}.combat-combatant-hp-fill-red{background-color:#ef4343}.combat-combatant-stats{font-size:.75rem;display:flex;flex-direction:column;gap:.125rem}@media (min-width: 768px){.combat-combatant-stats{gap:.25rem}}.combat-combatant-defeated{color:#ef4343}.combat-combatant-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.125rem}@media (min-width: 768px){.combat-combatant-badges{gap:.375rem;margin-top:.25rem}}.combat-enemy-badge{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.5625rem;font-weight:600;white-space:nowrap}@media (min-width: 768px){.combat-enemy-badge{padding:.125rem .5rem;font-size:.625rem;gap:.25rem}}.combat-enemy-badge-category{background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.combat-enemy-badge-archetype{color:#fff}.combat-enemy-badge-rarity{text-transform:capitalize;transition:all .2s ease}.combat-enemy-badge-rarity-common{background:linear-gradient(135deg,var(--rarity-common-bg),hsl(var(--rarity-common-h) var(--rarity-common-s) calc(var(--rarity-common-l) + 25%)));color:var(--rarity-common-text);border:1px solid var(--rarity-common-border);box-shadow:inset 0 1px #ffffff1a}.combat-enemy-badge-rarity-uncommon{background:linear-gradient(135deg,var(--rarity-uncommon-bg),hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) calc(var(--rarity-uncommon-l) + 30%)));color:var(--rarity-uncommon-text);border:1px solid var(--rarity-uncommon-border);box-shadow:0 0 4px var(--rarity-uncommon-glow),inset 0 1px #ffffff26}.combat-enemy-badge-rarity-elite{background:linear-gradient(135deg,var(--rarity-elite-bg),hsl(var(--rarity-elite-h) var(--rarity-elite-s) calc(var(--rarity-elite-l) + 28%)));color:var(--rarity-elite-text);border:1px solid var(--rarity-elite-border);box-shadow:0 0 6px var(--rarity-elite-glow),inset 0 1px #fff3;font-weight:600}.combat-enemy-badge-rarity-boss{background:linear-gradient(135deg,var(--rarity-boss-bg),hsl(var(--rarity-boss-h) calc(var(--rarity-boss-s) - 10%) calc(var(--rarity-boss-l) + 20%)));color:var(--rarity-boss-text);border:1px solid var(--rarity-boss-border);box-shadow:0 0 8px var(--rarity-boss-glow),inset 0 1px #ffffff40;font-weight:700;text-shadow:0 1px 1px hsl(0 0% 0% / .2)}.combat-enemy-signature-ability{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.5625rem;font-weight:600;background:linear-gradient(135deg,#fef8e7,#fbeab6);color:#795c06;border:1px solid hsl(45 90% 70%);white-space:nowrap;cursor:help;transition:background-color .15s ease}.combat-enemy-signature-ability:hover{background:linear-gradient(135deg,#fcf1cf,#fae39e)}@media (min-width: 768px){.combat-enemy-signature-ability{font-size:.625rem;padding:.15rem .6rem}}.combat-combatant-card-enemy.combat-combatant-card-common{border-color:var(--rarity-common-border);box-shadow:0 0 4px var(--rarity-common-glow);transition:all .2s ease}.combat-combatant-card-enemy.combat-combatant-card-common:hover{box-shadow:0 0 8px var(--rarity-common-glow)}.combat-combatant-card-enemy.combat-combatant-card-common .combat-combatant-name{color:var(--rarity-common-text)}.combat-combatant-card-enemy.combat-combatant-card-uncommon{border-color:var(--rarity-uncommon-border);border-width:2px;box-shadow:0 0 6px var(--rarity-uncommon-glow);background:linear-gradient(135deg,hsl(var(--card)) 0%,var(--rarity-uncommon-bg) 50%,hsl(var(--card)) 100%);transition:all .2s ease}.combat-combatant-card-enemy.combat-combatant-card-uncommon:hover{box-shadow:0 0 12px var(--rarity-uncommon-glow)}.combat-combatant-card-enemy.combat-combatant-card-uncommon .combat-combatant-name{color:var(--rarity-uncommon-text);font-weight:500}.combat-combatant-card-enemy.combat-combatant-card-elite{border-color:var(--rarity-elite-border);border-width:2px;box-shadow:0 0 10px var(--rarity-elite-glow);background:linear-gradient(135deg,hsl(var(--card)) 0%,var(--rarity-elite-bg) 50%,hsl(var(--card)) 100%);position:relative;overflow:hidden}.combat-combatant-card-enemy.combat-combatant-card-elite:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,hsl(var(--rarity-elite-h) var(--rarity-elite-s) calc(var(--rarity-elite-l) + 25%) / .12) 50%,transparent 100%);animation:combat-elite-shimmer 4s ease-in-out infinite;pointer-events:none}@keyframes combat-elite-shimmer{0%{left:-100%}50%,to{left:100%}}.combat-combatant-card-enemy.combat-combatant-card-elite .combat-combatant-name{color:var(--rarity-elite-text);font-weight:600}.combat-combatant-card-enemy.combat-combatant-card-boss{border-color:var(--rarity-boss-border);border-width:3px;box-shadow:0 0 15px var(--rarity-boss-glow),0 4px 16px #0003;grid-column:1 / -1;padding:1.25rem;background:linear-gradient(135deg,hsl(var(--card)) 0%,var(--rarity-boss-bg) 25%,hsl(var(--rarity-boss-h) calc(var(--rarity-boss-s) - 30%) calc(var(--rarity-boss-l) - 35%)) 50%,var(--rarity-boss-bg) 75%,hsl(var(--card)) 100%);background-size:200% 200%;position:relative;overflow:hidden}.combat-combatant-card-enemy.combat-combatant-card-boss:not(.combat-combatant-card-defeated){animation:combat-boss-glow 2s ease-in-out infinite,combat-boss-gradient 8s ease-in-out infinite}@keyframes combat-boss-gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.combat-combatant-card-enemy.combat-combatant-card-boss .combat-combatant-name{font-size:1.125rem;font-weight:700;color:var(--rarity-boss-border);text-shadow:0 0 8px var(--rarity-boss-glow)}@media (min-width: 768px){.combat-combatant-card-enemy.combat-combatant-card-boss .combat-combatant-name{font-size:1.25rem}}.combat-combatant-card-enemy.combat-combatant-card-boss .combat-enemy-badge{font-size:.75rem;padding:.25rem .5rem}.combat-combatant-card-enemy.combat-combatant-card-boss .combat-combatant-hp-bar{height:10px;border-radius:5px}@keyframes combat-boss-glow{0%,to{box-shadow:0 0 15px var(--rarity-boss-glow),0 4px 16px #0003,inset 0 0 30px hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .05)}50%{box-shadow:0 0 30px var(--rarity-boss-glow),0 4px 24px #0000004d,inset 0 0 50px hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .1)}}.combat-combatant-card-enemy.combat-combatant-card-boss:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsl(var(--rarity-boss-h) calc(var(--rarity-boss-s) + 15%) calc(var(--rarity-boss-l) + 30%) / .2),transparent);animation:combat-boss-shimmer 4s ease-in-out infinite;pointer-events:none}@keyframes combat-boss-shimmer{0%{left:-100%}50%,to{left:100%}}.combat-combatant-card-enemy.combat-combatant-card-boss.combat-combatant-card-defeated:before{animation:none;opacity:0}.combat-combatant-card-enemy.combat-combatant-card-boss .combat-combatant-stats{font-size:.875rem}.combat-combatant-card-enemy.combat-combatant-card-boss .combat-action-economy-item{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius)}.combat-enemy-legendary-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .3);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.combat-enemy-legendary-actions{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--rarity-boss-border);background:hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .15);padding:.125rem .5rem;border-radius:var(--radius);border:1px solid hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .3)}.combat-enemy-legendary-resistances{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#e05252;background:#bf40401a;padding:.125rem .5rem;border-radius:var(--radius);border:1px solid hsl(0 50% 50% / .3)}.combat-combatant-card-enemy.combat-combatant-card-elite:not(.combat-combatant-card-defeated){animation:combat-elite-glow 3s ease-in-out infinite}@keyframes combat-elite-glow{0%,to{box-shadow:0 0 10px var(--rarity-elite-glow),inset 0 0 20px hsl(var(--rarity-elite-h) var(--rarity-elite-s) var(--rarity-elite-l) / .05)}50%{box-shadow:0 0 20px var(--rarity-elite-glow),0 0 35px hsl(var(--rarity-elite-h) var(--rarity-elite-s) var(--rarity-elite-l) / .25),inset 0 0 30px hsl(var(--rarity-elite-h) var(--rarity-elite-s) var(--rarity-elite-l) / .08)}}.combat-combatant-card-defeated{animation:none!important}.combat-combatant-card-enemy.combat-combatant-card-elite.combat-combatant-card-defeated:before{animation:none;opacity:0}.combat-log-section{margin-top:1rem}.combat-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.combat-log-title{font-weight:700;font-size:.875rem}@media (min-width: 768px){.combat-log-title{font-size:1rem}}.combat-log-header-actions{display:flex;align-items:center;gap:.5rem}.combat-log-autoscroll{font-size:.625rem;color:#1fe066}@media (min-width: 768px){.combat-log-autoscroll{font-size:.75rem}}.combat-log-autoscroll-pulse{animation:combat-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes combat-pulse{0%,to{opacity:1}50%{opacity:.5}}.combat-log-container{background-color:hsl(var(--muted));border-radius:var(--radius);padding:.75rem;max-height:20rem;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;scroll-behavior:smooth}@media (min-width: 768px){.combat-log-container{padding:1rem;max-height:24rem;gap:.5rem}}.combat-log-entry{font-size:.625rem;border-left-width:4px;border-left-style:solid;background-color:hsl(var(--background));border-radius:0 var(--radius) var(--radius) 0;padding:.5rem .75rem}@media (min-width: 768px){.combat-log-entry{font-size:.875rem;padding:.75rem 1rem}}.combat-log-entry-success{border-left-color:#1fe066}.combat-log-entry-fail{border-left-color:#ef4343}.combat-log-entry-spell{border-left-color:#3c83f6}.combat-log-entry-neutral{border-left-color:#facc14}.combat-log-meta{display:flex;align-items:center;gap:.25rem;margin-bottom:.125rem;flex-wrap:wrap}@media (min-width: 768px){.combat-log-meta{gap:.5rem;margin-bottom:.25rem}}.combat-log-round{font-size:.625rem;font-weight:700;background-color:hsl(var(--muted));padding:.125rem .5rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-log-round{font-size:.75rem;padding:.25rem .5rem}}.combat-log-actor{font-weight:700;color:hsl(var(--foreground));font-size:.625rem}@media (min-width: 768px){.combat-log-actor{font-size:.75rem}}.combat-log-action{color:hsl(var(--muted-foreground));font-size:.625rem}@media (min-width: 768px){.combat-log-action{font-size:.75rem}}.combat-log-target-name{font-weight:600}.combat-log-detail{font-size:.625rem;color:hsl(var(--muted-foreground));margin-bottom:.125rem}@media (min-width: 768px){.combat-log-detail{font-size:.75rem;margin-bottom:.25rem}}.combat-log-detail-label{color:hsl(var(--muted-foreground))}.combat-log-detail-value{font-weight:600}.combat-log-roll{color:#1fe066}.combat-log-roll-miss{color:#ef4343}.combat-log-roll-crit{margin-left:.25rem;color:#facc14;font-weight:700;font-size:.625rem}@media (min-width: 768px){.combat-log-roll-crit{margin-left:.5rem;font-size:.75rem}}.combat-log-damage{color:#f97015}.combat-log-low-hp{color:#ef4343}.combat-log-spell{color:#3c83f6}.combat-log-status{color:#facc14}.combat-log-description{color:hsl(var(--muted-foreground));font-style:italic}.combat-log-detail-margin{margin-left:.25rem}@media (min-width: 768px){.combat-log-detail-margin{margin-left:.5rem}}.combat-victory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.combat-victory-card{background-color:hsl(var(--background));border:2px solid hsl(var(--primary));border-radius:var(--radius);padding:1rem;max-width:28rem;width:100%;margin:0;box-shadow:0 25px 50px -12px #00000080}@media (min-width: 768px){.combat-victory-card{padding:2rem;margin:0 1rem}}.combat-victory-title{font-size:1.25rem;font-weight:700;text-align:center;margin-bottom:1rem;color:hsl(var(--primary))}@media (min-width: 768px){.combat-victory-title{font-size:1.875rem;margin-bottom:1.5rem}}.combat-victory-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}@media (min-width: 768px){.combat-victory-stats{gap:1rem;margin-bottom:1.5rem}}.combat-victory-stat{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsl(var(--border));padding-bottom:.5rem}.combat-victory-stat-label{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-victory-stat-label{font-size:.875rem}}.combat-victory-stat-value{font-size:1rem;font-weight:700}@media (min-width: 768px){.combat-victory-stat-value{font-size:1.25rem}}.combat-victory-xp{color:#1fe066;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.combat-victory-xp-recipient{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:400}@media (min-width: 768px){.combat-victory-xp-recipient{font-size:.875rem}}.combat-victory-levelup{font-size:.75rem;color:#facc14;font-weight:600;animation:combat-pulse 1s cubic-bezier(.4,0,.6,1) infinite}@media (min-width: 768px){.combat-victory-levelup{font-size:.875rem}}.combat-victory-performance-pass{color:#1fe066}.combat-victory-performance-fail{color:#ef4343}.combat-victory-performance-badge{font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-victory-performance-badge{font-size:.875rem}}.combat-victory-description{padding-top:.5rem}.combat-victory-description-text{font-size:.75rem;text-align:center;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.combat-victory-description-text{font-size:.875rem}}.combat-victory-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}@media (min-width: 768px){.combat-victory-actions{flex-direction:row;justify-content:center;align-items:center}.combat-victory-actions .combat-victory-restart{flex:1}}.combat-victory-restart{width:100%;padding:.75rem 1rem;min-height:2.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);font-weight:700;border:none;cursor:pointer;transition:opacity var(--duration-fast) ease;font-size:.875rem}@media (min-width: 768px){.combat-victory-restart{padding:.75rem 1.5rem;min-height:2.75rem;font-size:1rem}}.combat-victory-restart:hover{opacity:.9}.combat-victory-treasure-section{margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.combat-victory-treasure-title{font-size:1rem;font-weight:600;color:var(--rarity-boss-border);margin-bottom:.75rem;text-align:center}@media (min-width: 768px){.combat-victory-treasure-title{font-size:1.125rem;margin-bottom:1rem}}.combat-victory-treasure-content{display:flex;flex-direction:column;gap:.5rem}.combat-victory-treasure-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:hsl(var(--muted));border-radius:var(--radius-sm)}.combat-victory-treasure-gold{background:linear-gradient(135deg,hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .15),hsl(var(--rarity-boss-h) var(--rarity-boss-s) calc(var(--rarity-boss-l) - 10%) / .1));border:1px solid hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .3)}.combat-victory-treasure-icon{font-size:1.25rem;line-height:1}.combat-victory-treasure-value{font-weight:700;font-size:1.125rem;color:var(--rarity-boss-border)}.combat-victory-treasure-items{display:flex;flex-direction:column;gap:.375rem}.combat-victory-treasure-loot{background:linear-gradient(135deg,#af57db1a,#9b2dd20d);border:1px solid hsl(280 65% 60% / .25)}.combat-victory-treasure-item-name{font-weight:600;color:hsl(var(--foreground))}.combat-victory-treasure-item-type{font-size:.75rem;color:hsl(var(--muted-foreground));margin-left:.25rem}@keyframes treasure-reveal{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.combat-victory-treasure-section{animation:treasure-reveal .5s ease-out forwards}.combat-victory-treasure-item{animation:treasure-reveal .4s ease-out forwards}.combat-victory-treasure-item:nth-child(1){animation-delay:.1s}.combat-victory-treasure-item:nth-child(2){animation-delay:.2s}.combat-victory-treasure-item:nth-child(3){animation-delay:.3s}.combat-victory-treasure-item:nth-child(4){animation-delay:.4s}.combat-victory-treasure-item:nth-child(5){animation-delay:.5s}.combat-victory-party-xp-section{margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border));animation:treasure-reveal .6s ease-out forwards}.combat-victory-party-xp-title{font-size:1rem;font-weight:600;color:var(--rarity-uncommon-border);margin-bottom:.75rem;text-align:center}@media (min-width: 768px){.combat-victory-party-xp-title{font-size:1.125rem;margin-bottom:1rem}}.combat-victory-party-xp-list{display:flex;flex-direction:column;gap:.5rem}.combat-victory-party-xp-member{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:linear-gradient(135deg,hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) var(--rarity-uncommon-l) / .1),hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) calc(var(--rarity-uncommon-l) - 5%) / .05));border:1px solid hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) var(--rarity-uncommon-l) / .25);border-radius:var(--radius-sm);animation:treasure-reveal .4s ease-out forwards}.combat-victory-party-xp-member:nth-child(1){animation-delay:.1s}.combat-victory-party-xp-member:nth-child(2){animation-delay:.2s}.combat-victory-party-xp-member:nth-child(3){animation-delay:.3s}.combat-victory-party-xp-member:nth-child(4){animation-delay:.4s}.combat-victory-party-xp-name{font-weight:600;color:hsl(var(--foreground));flex:1}.combat-victory-party-xp-amount{font-weight:700;font-size:.875rem;color:#26d968}@media (min-width: 768px){.combat-victory-party-xp-amount{font-size:1rem}}.combat-victory-party-xp-levelup{font-size:.75rem;font-weight:600;color:#e7b008;background:#e7b00826;padding:.125rem .5rem;border-radius:9999px;white-space:nowrap}@media (min-width: 768px){.combat-victory-party-xp-levelup{font-size:.875rem}}.combat-actions{display:flex;flex-direction:column;flex-wrap:wrap;gap:.5rem}@media (min-width: 640px){.combat-actions{flex-direction:row;gap:1rem}}.combat-action-button{width:100%}@media (min-width: 640px){.combat-action-button{width:auto}}.combat-button{min-height:2.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);border:none;font-weight:500;font-size:.875rem;cursor:pointer;transition:opacity var(--duration-fast) ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}@media (min-width: 768px){.combat-button{padding:.5rem 1rem;min-height:2.5rem;font-size:1rem}}.combat-button-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-button-primary:hover{opacity:.9}.combat-button-green{background-color:#1fe066;color:#fff}.combat-button-green:hover{background-color:#1cca5b}.combat-button-amber{background-color:#facc14;color:#fff}.combat-button-amber:hover{background-color:#f0c105}.combat-button-muted{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.combat-button-muted:hover{opacity:.9}.combat-button-disabled{opacity:.5;cursor:not-allowed}.combat-autoplay-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#1fe066;animation:combat-pulse 2s cubic-bezier(.4,0,.6,1) infinite;width:100%}@media (min-width: 640px){.combat-autoplay-status{width:auto;gap:.5rem;font-size:.875rem}}.combat-autoplay-label{font-weight:600}.combat-autoplay-interval{color:hsl(var(--muted-foreground))}.combat-ai-strategy-selector{display:flex;align-items:center;gap:.375rem;width:100%;padding:.25rem 0}@media (min-width: 640px){.combat-ai-strategy-selector{width:auto}}.combat-ai-strategy-label{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.combat-ai-strategy-btn{font-size:.75rem;padding:.25rem .625rem;border-radius:.375rem;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;font-weight:500}.combat-ai-strategy-btn:hover:not(:disabled){border-color:hsl(var(--primary));color:hsl(var(--primary))}.combat-ai-strategy-btn-active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .15);color:hsl(var(--primary));font-weight:600}.combat-ai-strategy-btn-aggressive{border-color:#e01f1f;background:#e01f1f26;color:#e01f1f}.combat-ai-override-badge{font-size:.6rem;padding:.1rem .4rem;border-radius:.25rem;border:1px solid;background:none;cursor:pointer;font-weight:600;letter-spacing:.03em;line-height:1.3;white-space:nowrap;transition:opacity .15s ease}.combat-ai-override-badge:hover:not(:disabled){opacity:.8}.combat-ai-override-badge:disabled{cursor:default;opacity:.6}.combat-ai-override-badge-normal{border-color:#1f5fe0;color:#1f5fe0;background:#1f5fe01a}.combat-ai-override-badge-aggressive{border-color:#e01f1f;color:#e01f1f;background:#e01f1f1a}.combat-combatant-card[role=button]{cursor:pointer}.combat-combatant-card[role=button]:hover{border-color:hsl(var(--primary) / .5)}.combat-combatant-card[role=button]:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.combat-ai-overrides-badge{font-size:.65rem;padding:.2rem .5rem;border-radius:.375rem;border:1px solid hsl(45 93% 47%);background:#e7b0081f;color:#e7b008;cursor:pointer;font-weight:600;white-space:nowrap;transition:all .15s ease}.combat-ai-overrides-badge:hover:not(:disabled){background:#e7b00833;border-color:#e7b008}.combat-ai-overrides-badge:disabled{cursor:default;opacity:.6}.combat-log-ai-reasoning{font-size:.7rem;font-style:italic;padding:.2rem .5rem;margin:.15rem 0 0;border-radius:.25rem;border-left:2px solid;line-height:1.4}.combat-log-ai-reasoning-normal{background:#1f5fe014;border-left-color:#1f5fe0;color:#7a8fb8}.combat-log-ai-reasoning-aggressive{background:#e01f1f14;border-left-color:#e01f1f;color:#b87a7a}.combat-log-ai-badge{font-weight:700;font-style:normal;text-transform:uppercase;font-size:.6rem;letter-spacing:.05em;opacity:.8}.combat-log-entry-legendary{border-left-color:#e7b008;background:#e7b0080d}.combat-dump-section{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.combat-dump-section{gap:1rem}}.combat-dump-header{display:flex;align-items:center;gap:.5rem}.combat-dump-title{font-weight:700;font-size:.875rem}@media (min-width: 768px){.combat-dump-title{font-size:1rem}}.combat-spell-section{background-color:#3c83f626;border-radius:var(--radius);padding:.75rem;border:1px solid hsl(217 91% 60% / .4)}@media (min-width: 768px){.combat-spell-section{padding:1rem}}.combat-spell-header{font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem}@media (min-width: 768px){.combat-spell-header{margin-bottom:.75rem;font-size:1rem}}.combat-spell-class-badge{font-size:.625rem;background-color:#3c83f6;color:#fff;padding:.125rem .5rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-spell-class-badge{font-size:.75rem}}.combat-spell-slots{margin-bottom:.5rem;padding:.5rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-spell-slots{margin-bottom:.75rem}}.combat-spell-slots-label{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.combat-spell-slots-grid{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-spell-slots-grid{gap:.5rem}}.combat-spell-slot-badge{font-size:.625rem;background-color:#3c83f633;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid hsl(217 91% 60% / .4)}@media (min-width: 768px){.combat-spell-slot-badge{font-size:.75rem}}.combat-spell-slot-available{color:#1fe066}.combat-spell-slot-unavailable{color:#ef4343}.combat-slots-empty{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-slots-empty{font-size:.75rem}}.combat-spells-list{margin-bottom:.5rem}@media (min-width: 768px){.combat-spells-list{margin-bottom:.75rem}}.combat-spells-label{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.combat-spells-grid{display:flex;flex-wrap:wrap;gap:.25rem;max-height:8rem;overflow-y:auto}@media (min-width: 768px){.combat-spells-grid{gap:.5rem;max-height:10rem}}.combat-spell-button{padding:.5rem;min-height:2.75rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));font-size:.75rem;text-align:left;transition:border-color var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic);background-color:hsl(var(--background));color:hsl(var(--foreground));cursor:pointer}@media (min-width: 768px){.combat-spell-button{padding:.75rem 1rem;font-size:.875rem}}.combat-spell-button:hover{background-color:#3c83f61a}.combat-spell-button-disabled{opacity:.5;cursor:not-allowed}.combat-spell-button-selected{background-color:#3c83f6;color:#fff;border-color:#3c83f6cc}.combat-spell-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}@media (min-width: 768px){.combat-spell-name{font-size:.875rem}}.combat-spell-details{font-size:.625rem;opacity:.8}@media (min-width: 768px){.combat-spell-details{font-size:.75rem}}.combat-spell-targets{margin-bottom:.5rem;padding:.5rem .75rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-spell-targets{margin-bottom:.75rem;padding:.75rem 1rem}}.combat-spell-targets-label{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.combat-spell-cast-row{display:flex;flex-direction:column;align-items:center;gap:.5rem}@media (min-width: 640px){.combat-spell-cast-row{flex-direction:row}}.combat-spell-cast-button{background-color:#3c83f6;color:#fff;border-radius:var(--radius-sm);font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:.75rem 1rem;border:none;cursor:pointer;transition:background-color var(--duration-fast) ease;font-size:.875rem}@media (min-width: 768px){.combat-spell-cast-button{padding:.5rem 1rem;min-height:2.5rem;font-size:1rem}}.combat-spell-cast-button:hover{background-color:#3c83f6e6}.combat-spell-target-count{font-size:.625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-spell-target-count{font-size:.75rem}}.combat-spell-warning{font-size:.625rem;color:#db7706}@media (min-width: 768px){.combat-spell-warning{font-size:.75rem}}.combat-controls-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.combat-controls-hint{font-size:.75rem}}.combat-victory-performance-pass{background-color:#edfdf3;color:#10b77f}.combat-victory-performance-fail{background-color:#fef1f1;color:#dc2828}.combat-pregame{display:flex;flex-direction:column;gap:1rem}.combat-config-panel{background-color:hsl(var(--muted));border-radius:var(--radius);padding:.75rem;border:1px solid hsl(var(--border))}@media (min-width: 768px){.combat-config-panel{padding:1rem}}.combat-config-title{font-weight:700;font-size:1rem;margin-bottom:.75rem;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-config-title{font-size:1.125rem;margin-bottom:1rem}}.combat-config-section{margin-bottom:.75rem}@media (min-width: 768px){.combat-config-section{margin-bottom:1rem}}.combat-config-section-highlight{background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm);padding:.75rem;border:1px solid hsl(var(--border) / .5)}.combat-config-label{display:block;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.25rem}@media (min-width: 768px){.combat-config-label{font-size:.875rem;margin-bottom:.5rem}}.combat-config-select{width:100%;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;cursor:pointer;transition:border-color var(--duration-fast) ease}.combat-config-select:hover{border-color:hsl(var(--primary))}.combat-config-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.combat-config-input{width:100%;box-sizing:border-box;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem}.combat-config-input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.combat-config-hint{font-size:.625rem;color:hsl(var(--muted-foreground));margin-top:.25rem;font-style:italic}@media (min-width: 768px){.combat-config-hint{font-size:.75rem;margin-top:.5rem}}.combat-config-row{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 640px){.combat-config-row{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.combat-config-row{gap:1rem}}.combat-config-field{display:flex;flex-direction:column;min-width:0}.combat-config-preview{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}@media (min-width: 768px){.combat-config-preview{margin-top:1rem;padding-top:1rem}}.combat-config-preview-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.5rem}@media (min-width: 768px){.combat-config-preview-title{font-size:.875rem}}.combat-config-preview-list{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-config-preview-list{gap:.5rem}}.combat-config-enemy-card{background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);padding:.5rem;min-width:140px}@media (min-width: 768px){.combat-config-enemy-card{padding:.75rem;min-width:180px}}.combat-config-enemy-name{font-weight:600;font-size:.75rem;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-config-enemy-name{font-size:.875rem}}.combat-config-enemy-details{font-size:.625rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-config-enemy-details{font-size:.75rem}}.combat-preview-audio-badge{display:inline-flex;align-items:center;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem;font-weight:500;background:linear-gradient(135deg,#9d26d933,#e052b133);border-radius:.25rem;color:#e87de8}.combat-config-enemy-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.combat-enemy-audio-indicator{font-size:.75rem;opacity:.8;cursor:help}.combat-enemy-audio-info{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border))}.combat-audio-song{display:flex;align-items:center;gap:.25rem;margin-bottom:.375rem}.combat-audio-song-icon{font-size:.625rem}.combat-audio-song-name{font-size:.625rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}@media (min-width: 768px){.combat-audio-song-name{font-size:.75rem;max-width:160px}}.combat-audio-profile{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.375rem}.combat-audio-profile-bar{display:flex;align-items:center;gap:.375rem}.combat-audio-profile-label{font-size:.5rem;color:hsl(var(--muted-foreground));width:2.5rem;flex-shrink:0}@media (min-width: 768px){.combat-audio-profile-label{font-size:.625rem}}.combat-audio-profile-track{flex:1;height:.25rem;background-color:hsl(var(--muted) / .3);border-radius:.125rem;overflow:hidden}.combat-audio-profile-fill{height:100%;border-radius:.125rem;transition:width .3s ease}.combat-audio-profile-fill-bass{background:linear-gradient(90deg,#d92626,#dd713c)}.combat-audio-profile-fill-mid{background:linear-gradient(90deg,#393,#39ac60)}.combat-audio-profile-fill-treble{background:linear-gradient(90deg,#269dd9,#5281e0)}.combat-audio-profile-value{font-size:.5rem;color:hsl(var(--muted-foreground));width:1.75rem;text-align:right;flex-shrink:0}@media (min-width: 768px){.combat-audio-profile-value{font-size:.625rem}}.combat-audio-dominant{display:inline-flex;align-items:center;font-size:.5rem;font-weight:600;padding:.125rem .25rem;border-radius:.125rem;margin-bottom:.375rem}@media (min-width: 768px){.combat-audio-dominant{font-size:.625rem;padding:.125rem .375rem}}.combat-audio-dominant-bass{background-color:#d9262633;color:#e05252}.combat-audio-dominant-mid{background-color:#3953;color:#3c6}.combat-audio-dominant-treble{background-color:#269dd933;color:#67bbe4}.combat-audio-dominant-balanced{background-color:#9540bf33;color:#b870db}.combat-audio-reasoning{display:flex;align-items:flex-start;gap:.25rem;padding:.25rem;background-color:hsl(var(--muted) / .2);border-radius:.25rem;cursor:help}.combat-audio-reasoning-icon{font-size:.625rem;flex-shrink:0}.combat-audio-reasoning-text{font-size:.5rem;color:hsl(var(--muted-foreground));line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 768px){.combat-audio-reasoning-text{font-size:.625rem;-webkit-line-clamp:3}}.combat-quick-actions{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background-color:hsl(var(--accent) / .1);border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:.75rem}@media (min-width: 768px){.combat-quick-actions{flex-direction:row;align-items:flex-end;justify-content:space-between;padding:1rem}}.combat-quick-actions-mode{flex:0 1 auto;min-width:180px}@media (min-width: 768px){.combat-quick-actions-mode{flex:0 1 220px}}.combat-quick-actions-buttons{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.combat-quick-actions-buttons{flex-direction:row;gap:.75rem}}.combat-config-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}@media (min-width: 640px){.combat-config-actions{flex-direction:row;justify-content:flex-start;gap:.75rem}}.combat-config-button{padding:.5rem 1rem;min-height:2.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;cursor:pointer;transition:opacity var(--duration-fast) ease,background-color var(--duration-fast) ease;border:none}@media (min-width: 768px){.combat-config-button{padding:.625rem 1.25rem;min-height:2.75rem;font-size:1rem}}.combat-config-button-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-config-button-primary:hover:not(.combat-config-button-disabled){opacity:.9}.combat-config-button-secondary{background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.combat-config-button-secondary:hover:not(.combat-config-button-disabled){background-color:hsl(var(--accent))}.combat-config-button-balance{background-color:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsl(var(--border));gap:.375rem}.combat-config-button-balance:hover:not(.combat-config-button-disabled){background-color:hsl(var(--accent));border-color:hsl(var(--primary))}.combat-config-button-disabled{opacity:.5;cursor:not-allowed}.combat-config-help{font-size:.625rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:.5rem;font-style:italic}@media (min-width: 768px){.combat-config-help{font-size:.75rem;margin-top:.75rem}}.combat-template-browser-section{margin-top:1rem}@media (min-width: 768px){.combat-template-browser-section{margin-top:1.5rem}}.combat-template-select{font-size:.875rem}.combat-template-select optgroup{font-weight:600;background-color:hsl(var(--muted));color:hsl(var(--foreground))}.combat-template-select option{font-weight:400;padding:.25rem 0}.combat-template-info{background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);padding:.5rem;margin-bottom:.75rem}@media (min-width: 768px){.combat-template-info{padding:.75rem;margin-bottom:1rem}}.combat-template-badges{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}@media (min-width: 768px){.combat-template-badges{gap:.5rem}}.combat-template-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600}@media (min-width: 768px){.combat-template-badge{font-size:.75rem;padding:.25rem .625rem}}.combat-template-badge-category{background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.combat-template-badge-archetype{color:#fff}.combat-template-ability{display:flex;flex-direction:column;gap:.125rem;font-size:.625rem}@media (min-width: 768px){.combat-template-ability{font-size:.75rem;gap:.25rem}}.combat-template-ability-label{font-weight:600;color:hsl(var(--muted-foreground));font-size:.5625rem;text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.combat-template-ability-label{font-size:.625rem}}.combat-template-ability-name{font-weight:700;color:hsl(var(--primary))}.combat-template-ability-desc{color:hsl(var(--muted-foreground));font-style:italic}.combat-rarity-info{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}@media (min-width: 768px){.combat-rarity-info{gap:.5rem;margin-top:.375rem}}.combat-rarity-multiplier{font-size:.625rem;color:#1cca5b;font-weight:600;background-color:#e9fcf0;padding:.125rem .375rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-rarity-multiplier{font-size:.6875rem;padding:.125rem .5rem}}.combat-rarity-abilities{font-size:.625rem;color:#2474f5;font-weight:600;background-color:#e7f0fe;padding:.125rem .375rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-rarity-abilities{font-size:.6875rem;padding:.125rem .5rem}}.combat-config-optional{font-weight:400;color:hsl(var(--muted-foreground));font-style:italic}.combat-xp-preview{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem;padding:.375rem .5rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm);border-left:3px solid;font-size:.625rem}@media (min-width: 768px){.combat-xp-preview{gap:.375rem;margin-top:.375rem;padding:.5rem .75rem;font-size:.75rem}}.combat-xp-preview-label{color:hsl(var(--muted-foreground));font-weight:500}.combat-xp-preview-value{font-weight:700;color:hsl(var(--primary))}.combat-xp-preview-hint{color:hsl(var(--muted-foreground));font-style:italic}.combat-xp-preview-row{display:flex;align-items:center;gap:.25rem}@media (min-width: 768px){.combat-xp-preview-row{gap:.5rem}}.combat-xp-preview-total{margin-top:.375rem;padding-top:.375rem;border-top:1px solid hsl(var(--border) / .5)}.combat-xp-preview-total .combat-xp-preview-label{font-weight:600}.combat-xp-preview-total .combat-xp-preview-value{font-size:1.1em}.combat-template-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem;max-height:8rem;overflow-y:auto;padding:.25rem;background-color:hsl(var(--background) / .3);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-template-chips{gap:.375rem;margin-top:.375rem;max-height:10rem;padding:.375rem}}.combat-template-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.625rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}@media (min-width: 768px){.combat-template-chip{padding:.375rem .625rem;font-size:.75rem}}.combat-template-chip:hover{background-color:hsl(var(--accent));border-color:hsl(var(--primary) / .5)}.combat-template-chip-selected{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.combat-template-chip-archetype{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;font-size:.5rem}@media (min-width: 768px){.combat-template-chip-archetype{width:1.125rem;height:1.125rem;font-size:.5625rem}}.combat-template-chip-selected .combat-template-chip-archetype{background-color:hsl(var(--primary-foreground) / .3)!important}.combat-config-warning{color:#db7706;font-weight:600}.combat-composition-preview{margin-top:.75rem;padding:.5rem;background-color:hsl(var(--background) / .6);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-composition-preview{margin-top:1rem;padding:.75rem}}.combat-composition-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border) / .5)}@media (min-width: 768px){.combat-composition-preview-header{margin-bottom:.75rem;padding-bottom:.75rem}}.combat-composition-preview-title{font-size:.6875rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.combat-composition-preview-title{font-size:.75rem}}.combat-composition-preview-count{font-size:.625rem;font-weight:600;color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);padding:.125rem .375rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-composition-preview-count{font-size:.6875rem;padding:.125rem .5rem}}.combat-composition-preview-grid{display:flex;flex-direction:column;gap:.25rem}@media (min-width: 640px){.combat-composition-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}}@media (min-width: 768px){.combat-composition-preview-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}.combat-composition-enemy{display:flex;align-items:center;gap:.375rem;padding:.375rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);transition:border-color var(--duration-fast) ease}@media (min-width: 768px){.combat-composition-enemy{gap:.5rem;padding:.5rem}}.combat-composition-enemy:hover{border-color:hsl(var(--primary) / .5)}.combat-composition-enemy-cycled{border-style:dashed;opacity:.85}.combat-composition-enemy-index{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.5625rem;font-weight:700;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));border-radius:var(--radius-sm);flex-shrink:0}@media (min-width: 768px){.combat-composition-enemy-index{width:1.5rem;height:1.5rem;font-size:.625rem}}.combat-composition-enemy-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;font-size:.625rem;flex-shrink:0}@media (min-width: 768px){.combat-composition-enemy-icon{width:1.75rem;height:1.75rem;font-size:.75rem}}.combat-composition-enemy-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.combat-composition-enemy-name{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.combat-composition-enemy-name{font-size:.75rem}}.combat-composition-enemy-category{font-size:.5625rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.combat-composition-enemy-category{font-size:.625rem}}.combat-composition-cycle-badge{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.625rem;color:#2474f5;background-color:#e7f0fe;border-radius:50%;flex-shrink:0;margin-left:auto}@media (min-width: 768px){.combat-composition-cycle-badge{width:1.125rem;height:1.125rem;font-size:.6875rem}}.combat-composition-preview-truncated{font-size:.5625rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:.5rem;font-style:italic}@media (min-width: 768px){.combat-composition-preview-truncated{font-size:.625rem;margin-top:.75rem}}.combat-tactical-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem;background-color:hsl(var(--muted) / .5);border-radius:var(--radius);border:1px solid hsl(var(--border));width:100%;margin-bottom:.5rem}@media (min-width: 640px){.combat-tactical-actions{gap:.5rem;padding:.75rem;width:auto;margin-bottom:0}}.combat-tactical-label{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;width:100%}@media (min-width: 640px){.combat-tactical-label{font-size:.6875rem;width:auto;margin-right:.25rem}}.combat-button-tactical{min-height:2.25rem;padding:.375rem .625rem;font-size:.75rem;border:1px solid transparent}@media (min-width: 768px){.combat-button-tactical{min-height:2.375rem;padding:.5rem .75rem;font-size:.8125rem}}.combat-button-dodge{background-color:#e8f6fc;color:#0d5173;border-color:#8cd0f2}.combat-button-dodge:hover:not(.combat-button-disabled){background-color:#bae3f7;border-color:#5ebeed}.combat-button-dash{background-color:#fdeed8;color:#915808;border-color:#f7be6e}.combat-button-dash:hover:not(.combat-button-disabled){background-color:#fbdeb6;border-color:#f5a83d}.combat-button-disengage{background-color:#edeff2;color:#4c5567;border-color:#b6bcc9}.combat-button-disengage:hover:not(.combat-button-disabled){background-color:#dcdfe5;border-color:#98a1b3}.combat-button-flee{background-color:#fae5e5;color:#981b1b;border-color:#e87d7d}.combat-button-flee:hover:not(.combat-button-disabled){background-color:#f6cbcb;border-color:#e05252}.combat-log-entry-dodge{border-left-color:#19a1e6}.combat-log-entry-dash{border-left-color:#f2930d}.combat-log-entry-disengage{border-left-color:#6c7993}.combat-log-entry-flee{border-left-color:#d92626}.combat-action-economy{display:flex;align-items:center;gap:.375rem;font-size:.625rem;padding:.25rem .5rem;background-color:hsl(var(--background));border-radius:var(--radius-sm);border:1px solid hsl(var(--border))}@media (min-width: 768px){.combat-action-economy{gap:.5rem;font-size:.6875rem;padding:.375rem .625rem}}.combat-action-economy-item{display:inline-flex;align-items:center;gap:.125rem}.combat-action-economy-available{color:#1cca5b}.combat-action-economy-used{color:#d92626;text-decoration:line-through;opacity:.7}.combat-turn-economy{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));margin-bottom:.5rem}@media (min-width: 768px){.combat-turn-economy{gap:1rem;padding:.625rem 1rem;margin-bottom:.75rem}}.combat-turn-economy-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-turn-economy-label{font-size:.875rem}}.combat-audio-section{border:1px solid hsl(var(--border));border-left:3px solid hsl(280 60% 50%);border-radius:var(--radius);padding:.75rem;margin-top:.5rem;background-color:hsl(var(--card))}@media (min-width: 768px){.combat-audio-section{padding:1rem;margin-top:.75rem}}.combat-audio-header{display:flex;flex-direction:column;gap:.5rem}.combat-audio-title-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.combat-audio-title-row:hover{background-color:#ffffff0d}.combat-audio-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-audio-title{font-size:1rem}}.combat-audio-warning{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic;margin:0}@media (min-width: 768px){.combat-audio-warning{font-size:.8125rem}}.combat-audio-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 768px){.combat-audio-hint{font-size:.75rem}}.combat-audio-selector{margin-top:.75rem;border-top:1px solid hsl(var(--border));padding-top:.75rem}@media (min-width: 768px){.combat-audio-selector{margin-top:1rem;padding-top:1rem}}.combat-audio-selector-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}.combat-audio-selector-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-audio-selector-label{font-size:.875rem}}.combat-audio-random-button{font-size:.6875rem;padding:.25rem .5rem;background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) ease}@media (min-width: 768px){.combat-audio-random-button{font-size:.75rem;padding:.375rem .625rem}}.combat-audio-random-button:hover{background-color:hsl(var(--accent))}.combat-audio-tracks-list{display:flex;flex-direction:column;gap:.25rem;max-height:200px;overflow-y:auto;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);padding:.25rem;background-color:hsl(var(--background))}@media (min-width: 768px){.combat-audio-tracks-list{max-height:250px;gap:.375rem;padding:.375rem}}.combat-audio-track{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background-color:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}@media (min-width: 768px){.combat-audio-track{padding:.5rem .625rem;gap:.625rem}}.combat-audio-track:hover:not(.combat-audio-track-disabled){background-color:hsl(var(--muted))}.combat-audio-track-selected{background-color:hsl(var(--primary) / .1);border-color:hsl(var(--primary) / .3)}.combat-audio-track-disabled{opacity:.5;cursor:not-allowed}.combat-audio-track-checkbox{width:1rem;height:1rem;border:1px solid hsl(var(--border));border-radius:.1875rem;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:700;color:hsl(var(--primary));flex-shrink:0}@media (min-width: 768px){.combat-audio-track-checkbox{width:1.125rem;height:1.125rem;font-size:.6875rem}}.combat-audio-track-selected .combat-audio-track-checkbox{background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-audio-track-info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.combat-audio-track-title{font-size:.75rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.combat-audio-track-title{font-size:.8125rem}}.combat-audio-track-artist{font-size:.625rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.combat-audio-track-artist{font-size:.6875rem}}.combat-audio-selected-preview{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem}@media (min-width: 768px){.combat-audio-selected-preview{margin-top:.625rem;gap:.5rem}}.combat-audio-selected-label{font-size:.6875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-audio-selected-label{font-size:.75rem}}.combat-audio-selected-chips{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-audio-selected-chips{gap:.375rem}}.combat-audio-selected-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .375rem .1875rem .5rem;background-color:hsl(var(--primary) / .15);color:hsl(var(--primary));border-radius:9999px;font-size:.625rem;font-weight:500;border:1px solid hsl(var(--primary) / .3)}@media (min-width: 768px){.combat-audio-selected-chip{padding:.25rem .5rem .25rem .625rem;font-size:.6875rem;gap:.375rem}}.combat-audio-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;padding:0;background-color:hsl(var(--primary) / .2);color:hsl(var(--primary));border:none;border-radius:50%;font-size:.75rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color var(--duration-fast) ease}@media (min-width: 768px){.combat-audio-chip-remove{width:1rem;height:1rem}}.combat-audio-chip-remove:hover{background-color:hsl(var(--primary) / .4)}.combat-treasure-section{background-color:hsl(var(--muted) / .5);border-radius:var(--radius);border:1px solid hsl(var(--border) / .5);overflow:hidden}.combat-treasure-inline{border:1px solid hsl(var(--border));border-left:3px solid hsl(45 96% 53%);border-radius:var(--radius);padding:.75rem;margin-top:.5rem;background-color:hsl(var(--card))}@media (min-width: 768px){.combat-treasure-inline{padding:1rem;margin-top:.75rem}}.combat-treasure-header{display:flex;flex-direction:column;gap:.5rem}.combat-treasure-title-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.combat-treasure-title-row:hover{background-color:#ffffff0d}.combat-treasure-hint{font-size:.6875rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 768px){.combat-treasure-hint{font-size:.75rem}}.combat-treasure-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-treasure-title{font-size:1rem}}.combat-treasure-enabled-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background-color:#fac11433;color:#fac114;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase}@media (min-width: 768px){.combat-treasure-enabled-badge{font-size:.6875rem}}.combat-treasure-expand-icon{font-size:.625rem;color:hsl(var(--muted-foreground));transition:transform var(--duration-fast) ease}@media (min-width: 768px){.combat-treasure-expand-icon{font-size:.75rem}}.combat-treasure-expanded{transform:rotate(180deg)}.combat-treasure-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out-cubic)}.combat-treasure-content-wrapper.expanded{grid-template-rows:1fr}.combat-treasure-content-inner{overflow:hidden}.combat-treasure-content{padding:0 .75rem .75rem;display:flex;flex-direction:column;gap:.75rem}.combat-treasure-inline .combat-treasure-content{opacity:1;transform:none;margin-top:.75rem;border-top:1px solid hsl(var(--border));padding-top:.75rem}.combat-treasure-content-wrapper .combat-treasure-content{opacity:0;transform:translateY(-8px);transition:opacity var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic)}.combat-treasure-content-wrapper.expanded .combat-treasure-content{opacity:1;transform:translateY(0)}@media (min-width: 768px){.combat-treasure-content{padding:0 1rem 1rem;gap:1rem}}.combat-treasure-field{display:flex;flex-direction:column;gap:.25rem}@media (min-width: 768px){.combat-treasure-field{gap:.375rem}}.combat-treasure-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media (min-width: 768px){.combat-treasure-field-row{gap:1rem}}.combat-treasure-gold-section{padding:.5rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .3)}@media (min-width: 768px){.combat-treasure-gold-section{padding:.75rem}}.combat-treasure-items-section{padding:.5rem;background-color:hsl(var(--background) / .5);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .3)}@media (min-width: 768px){.combat-treasure-items-section{padding:.75rem}}.combat-treasure-subsection-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}@media (min-width: 768px){.combat-treasure-subsection-title{font-size:.875rem;margin-bottom:.75rem}}.combat-treasure-items-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}@media (min-width: 768px){.combat-treasure-items-list{gap:.5rem;margin-bottom:1rem}}.combat-treasure-item-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .375rem .25rem 0;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);font-size:.625rem}@media (min-width: 768px){.combat-treasure-item-chip{padding:.375rem .5rem .375rem 0;font-size:.6875rem}}.combat-treasure-item-type-badge{padding:.125rem .375rem;background-color:#995cd626;color:#b285e0;border-radius:var(--radius-sm);font-size:.5rem;font-weight:600;text-transform:uppercase}@media (min-width: 768px){.combat-treasure-item-type-badge{font-size:.5625rem;padding:.125rem .5rem}}.combat-treasure-item-name{color:hsl(var(--foreground));font-weight:500}.combat-treasure-item-tags{display:inline-flex;gap:.25rem;margin-left:.5rem}.combat-treasure-item-tag{font-size:.625rem;padding:.125rem .375rem;background-color:hsl(var(--muted) / .3);border-radius:.25rem;color:hsl(var(--muted-foreground));text-transform:capitalize}.combat-treasure-item-tag-more{font-size:.625rem;padding:.125rem .375rem;background-color:hsl(var(--muted) / .2);border-radius:.25rem;color:hsl(var(--muted-foreground) / .7)}.combat-treasure-item-remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;padding:0;margin-left:.25rem;background-color:#e0525226;color:#e05252;border:none;border-radius:50%;font-size:.75rem;font-weight:700;line-height:1;cursor:pointer;transition:background-color var(--duration-fast) ease}.combat-treasure-item-remove:hover{background-color:#e052524d}.combat-treasure-add-item{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.combat-treasure-add-item{gap:.75rem}}.combat-treasure-add-name{flex:2}.combat-treasure-add-type{flex:1}.combat-treasure-add-button{padding:.5rem 1rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:opacity var(--duration-fast) ease}@media (min-width: 768px){.combat-treasure-add-button{font-size:.875rem;padding:.625rem 1.25rem}}.combat-treasure-add-button:hover:not(.combat-treasure-add-button-disabled){opacity:.9}.combat-treasure-add-button-disabled{opacity:.5;cursor:not-allowed}.combat-treasure-summary{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:#facc141a;border:1px solid hsl(48 96% 53% / .3);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-treasure-summary{padding:.625rem}}.combat-treasure-summary-label{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-treasure-summary-label{font-size:.75rem}}.combat-treasure-summary-value{font-size:.6875rem;color:#b89714;font-weight:500}@media (min-width: 768px){.combat-treasure-summary-value{font-size:.75rem}}.combat-treasure-item-chip-wrapper{width:100%;margin-bottom:.5rem}.combat-treasure-item-quantity{font-size:.625rem;color:hsl(var(--muted-foreground));margin-left:.25rem}.combat-treasure-item-edit{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;margin-left:.25rem;background-color:#52b1e026;color:#52b1e0;border:none;border-radius:var(--radius-sm);font-size:.625rem;cursor:pointer;transition:background-color var(--duration-fast) ease}.combat-treasure-item-edit:hover{background-color:#52b1e04d}.combat-treasure-box-editor{margin-top:.5rem;padding:.75rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm)}.combat-treasure-box-quantity{margin-bottom:.75rem}.combat-treasure-quantity-input{width:80px}.combat-treasure-quantity-field{margin-bottom:.75rem}.combat-treasure-box-contents-field{margin-top:.5rem}.combat-treasure-box-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:.25rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-sm)}.combat-treasure-box-empty{font-size:.6875rem;color:hsl(var(--muted-foreground));text-align:center;padding:1rem}.combat-treasure-box-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:all var(--duration-fast) ease}.combat-treasure-box-item:hover{border-color:hsl(var(--primary) / .5);background-color:hsl(var(--primary) / .05)}.combat-treasure-box-item-selected{border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .1)}.combat-treasure-box-item-header{display:flex;align-items:center;justify-content:space-between}.combat-treasure-box-item-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.combat-treasure-box-item-rarity{font-size:.5625rem;padding:.125rem .375rem;border-radius:var(--radius-sm);text-transform:uppercase;font-weight:600}.combat-rarity-common{background-color:#f4efeb;color:#7d5736}.combat-rarity-uncommon{background-color:#e1f4eb;color:#19764a}.combat-rarity-rare{background-color:#dce8f9;color:#1b4f98}.combat-rarity-very-rare{background-color:#eee6f4;color:#59257e}.combat-rarity-legendary{background-color:#f6eacb;color:#916a08}.combat-treasure-box-item-preview{font-size:.625rem;color:hsl(var(--muted-foreground))}.combat-treasure-box-contents-preview{margin-top:.75rem}.combat-treasure-box-options{margin-top:.75rem;padding:.75rem;background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm)}.combat-treasure-box-contents-preview{margin-top:.75rem;padding-top:.75rem;border-top:1px solid hsl(var(--border) / .3)}.combat-treasure-box-drops{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.combat-treasure-box-drop{padding:.5rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm)}.combat-treasure-box-drop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.combat-treasure-box-drop-number{font-size:.625rem;font-weight:600;color:hsl(var(--foreground))}.combat-treasure-box-drop-random{font-size:.5rem;padding:.125rem .25rem;background-color:#995cd626;color:#b285e0;border-radius:var(--radius-sm)}.combat-treasure-box-drop-pool{display:flex;flex-direction:column;gap:.25rem}.combat-treasure-box-pool-entry{display:flex;align-items:center;gap:.5rem}.combat-treasure-box-pool-bar{flex:0 0 40px;height:6px;background-color:hsl(var(--muted) / .3);border-radius:3px;overflow:hidden}.combat-treasure-box-pool-fill{height:100%;background-color:hsl(var(--primary));border-radius:3px;transition:width var(--duration-fast) ease}.combat-treasure-box-pool-item{flex:1;font-size:.625rem;color:hsl(var(--foreground))}.combat-treasure-box-pool-chance{font-size:.5625rem;font-weight:600;color:hsl(var(--primary));min-width:28px;text-align:right}.combat-treasure-box-requirements{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed hsl(var(--border) / .3)}.combat-treasure-box-requirements-label{font-size:.5625rem;color:hsl(var(--muted-foreground))}.combat-treasure-box-requirement{font-size:.5625rem;padding:.125rem .375rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius-sm);color:hsl(var(--muted-foreground))}.combat-audio-custom-playlist{margin-top:.75rem;padding:.75rem;background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm)}.combat-audio-custom-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.combat-audio-custom-label{font-size:.6875rem;color:hsl(var(--muted-foreground));font-weight:500}.combat-audio-toggle-custom{padding:.25rem .5rem;font-size:.625rem;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease}.combat-audio-toggle-custom:hover:not(:disabled){background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-audio-toggle-custom:disabled{opacity:.5;cursor:not-allowed}.combat-audio-custom-input-row{display:flex;gap:.5rem}.combat-audio-custom-input{flex:1;font-size:.6875rem}.combat-audio-load-button{padding:.375rem .75rem;font-size:.625rem;font-weight:500;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:opacity var(--duration-fast) ease}.combat-audio-load-button:hover:not(:disabled){opacity:.9}.combat-audio-load-button:disabled{opacity:.5;cursor:not-allowed}.combat-audio-clear-button{background-color:#e05252}.combat-audio-clear-button:hover{background-color:#d92626}.combat-audio-error{margin-top:.5rem;font-size:.625rem;color:#e05252;padding:.375rem .5rem;background-color:#e052521a;border-radius:var(--radius-sm)}.combat-audio-success{margin-top:.5rem;font-size:.625rem;color:#29a36a;padding:.375rem .5rem;background-color:#29a36a1a;border-radius:var(--radius-sm)}.combat-advanced-section{background-color:hsl(var(--muted) / .5);border-radius:var(--radius);border:1px solid hsl(var(--border) / .5);overflow:hidden}.combat-advanced-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-left:3px solid hsl(215 15% 50%);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all var(--duration-fast) ease}@media (min-width: 768px){.combat-advanced-header{padding:1rem}}.combat-advanced-header:hover{background-color:#6c7c931a;border-color:#6c7c934d}.combat-advanced-header:focus-visible{outline:2px solid hsl(215 15% 50%);outline-offset:2px}.combat-advanced-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-advanced-title{font-size:1rem}}.combat-advanced-active-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background-color:#6c7c9333;color:#576375;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:uppercase}@media (min-width: 768px){.combat-advanced-active-badge{font-size:.6875rem}}.combat-advanced-expand-icon{font-size:.625rem;color:hsl(var(--muted-foreground));transition:transform var(--duration-fast) ease}@media (min-width: 768px){.combat-advanced-expand-icon{font-size:.75rem}}.combat-advanced-expanded{transform:rotate(180deg)}.combat-advanced-content-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-normal) var(--ease-out-cubic)}.combat-advanced-content-wrapper.expanded{grid-template-rows:1fr}.combat-advanced-content-inner{overflow:hidden}.combat-advanced-content{padding:.75rem;display:flex;flex-direction:column;gap:1rem;opacity:0;transform:translateY(-8px);transition:opacity var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic)}.combat-advanced-content-wrapper.expanded .combat-advanced-content{opacity:1;transform:translateY(0)}@media (min-width: 768px){.combat-advanced-content{padding:1rem;gap:1.25rem}}.combat-advanced-enemy-config{padding:.75rem;background-color:hsl(var(--card) / .5);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius)}@media (min-width: 768px){.combat-advanced-enemy-config{padding:1rem}}.combat-advanced-subsection-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;display:flex;align-items:center;gap:.375rem}.combat-advanced-subsection-title:before{content:"⚙";font-size:.6875rem;opacity:.7}@media (min-width: 768px){.combat-advanced-subsection-title{font-size:.8125rem;margin-bottom:.875rem}}.combat-template-info-compact{margin-top:.5rem;padding:.5rem;background-color:hsl(var(--accent) / .1);border-radius:var(--radius-sm)}.combat-advanced-toggles{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.combat-advanced-toggles{gap:.75rem}}.combat-advanced-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm);gap:.75rem}@media (min-width: 768px){.combat-advanced-toggle-row{padding:.625rem 1rem;gap:1rem}}.combat-advanced-toggle-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.combat-advanced-toggle-label{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-advanced-toggle-label{font-size:.875rem}}.combat-advanced-toggle-description{font-size:.625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.combat-advanced-toggle-description{font-size:.6875rem}}.combat-advanced-numerics{display:grid;grid-template-columns:1fr;gap:.75rem}.combat-advanced-numerics .combat-config-field{min-width:0}.combat-advanced-numerics .combat-config-input{max-width:100%;box-sizing:border-box}@media (min-width: 640px){.combat-advanced-numerics{grid-template-columns:repeat(2,1fr);gap:1rem}}.combat-advanced-summary{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;background-color:hsl(var(--background) / .5);border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-advanced-summary{padding:.625rem 1rem;gap:.625rem}}.combat-advanced-summary-label{font-size:.625rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}@media (min-width: 768px){.combat-advanced-summary-label{font-size:.6875rem}}.combat-advanced-summary-badges{display:flex;flex-wrap:wrap;gap:.375rem}@media (min-width: 768px){.combat-advanced-summary-badges{gap:.5rem}}.combat-advanced-summary-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:500}@media (min-width: 768px){.combat-advanced-summary-badge{font-size:.6875rem;padding:.25rem .625rem}}.combat-advanced-badge-environment{background-color:hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) var(--rarity-uncommon-l) / .15);color:var(--rarity-uncommon-border);border:1px solid hsl(var(--rarity-uncommon-h) var(--rarity-uncommon-s) var(--rarity-uncommon-l) / .3)}.combat-advanced-badge-music{background-color:hsl(var(--rarity-elite-h) var(--rarity-elite-s) var(--rarity-elite-l) / .15);color:var(--rarity-elite-border);border:1px solid hsl(var(--rarity-elite-h) var(--rarity-elite-s) var(--rarity-elite-l) / .3)}.combat-advanced-badge-tactical{background-color:#d9262626;color:#d92626;border:1px solid hsl(0 70% 50% / .3)}.combat-advanced-badge-flee{background-color:hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .15);color:var(--rarity-boss-border);border:1px solid hsl(var(--rarity-boss-h) var(--rarity-boss-s) var(--rarity-boss-l) / .3)}.combat-advanced-summary-none{font-size:.625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.combat-advanced-summary-none{font-size:.6875rem}}.combat-difficulty-panel{margin-top:.75rem;padding:.75rem;background-color:hsl(var(--background) / .5);border:2px solid;border-radius:var(--radius)}@media (min-width: 768px){.combat-difficulty-panel{padding:1rem;margin-top:1rem}}.combat-difficulty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}@media (min-width: 768px){.combat-difficulty-header{margin-bottom:.75rem}}.combat-difficulty-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-difficulty-label{font-size:.875rem}}.combat-difficulty-rating{font-size:.875rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius-sm);background-color:hsl(var(--background))}@media (min-width: 768px){.combat-difficulty-rating{font-size:1rem;padding:.25rem .75rem}}.combat-difficulty-stats{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.combat-difficulty-stats{gap:.75rem}}.combat-difficulty-stat{display:flex;flex-wrap:wrap;gap:.375rem;align-items:baseline}@media (min-width: 768px){.combat-difficulty-stat{gap:.5rem}}.combat-difficulty-stat-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-difficulty-stat-label{font-size:.75rem}}.combat-difficulty-stat-value{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-difficulty-stat-value{font-size:.875rem}}.combat-difficulty-stat-hint{font-size:.625rem;color:hsl(var(--muted-foreground));font-style:italic}@media (min-width: 768px){.combat-difficulty-stat-hint{font-size:.6875rem}}.combat-difficulty-thresholds{padding-top:.375rem;border-top:1px solid hsl(var(--border) / .3)}.combat-difficulty-thresholds-label{font-size:.625rem;color:hsl(var(--muted-foreground));display:block;margin-bottom:.375rem}@media (min-width: 768px){.combat-difficulty-thresholds-label{font-size:.6875rem;margin-bottom:.5rem}}.combat-difficulty-threshold-bars{display:flex;flex-wrap:wrap;gap:.5rem 1rem}@media (min-width: 768px){.combat-difficulty-threshold-bars{gap:.75rem 1.5rem}}.combat-difficulty-threshold{font-size:.625rem;font-weight:500}@media (min-width: 768px){.combat-difficulty-threshold{font-size:.75rem}}.combat-difficulty-warning{margin-top:.5rem;padding:.5rem .75rem;font-size:.6875rem;color:#c75305;background-color:#f967061a;border:1px solid hsl(24 95% 50% / .3);border-radius:var(--radius-sm)}.combat-fleeing-warning{margin-top:.5rem;padding:.5rem .75rem;font-size:.6875rem;color:#ad1f1f;background-color:#d926261a;border:1px solid hsl(0 70% 50% / .3);border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-difficulty-warning,.combat-fleeing-warning{margin-top:.75rem;font-size:.75rem;padding:.5rem 1rem}}.toggle-switch{position:relative;display:inline-block;width:2.5rem;height:1.375rem;flex-shrink:0}.toggle-checkbox{opacity:0;width:0;height:0}.toggle-switch:before{content:"";position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:hsl(var(--muted));border-radius:1rem;transition:background-color var(--duration-fast) ease}.toggle-switch:after{content:"";position:absolute;cursor:pointer;top:.125rem;left:.125rem;width:1.125rem;height:1.125rem;background-color:hsl(var(--background));border-radius:50%;transition:transform var(--duration-fast) ease;box-shadow:0 1px 3px #0003}.toggle-switch:has(.toggle-checkbox:checked):before{background-color:hsl(var(--primary))}.toggle-switch:has(.toggle-checkbox:checked):after{transform:translate(1.125rem)}.toggle-switch:has(.toggle-checkbox:focus):before{box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.toggle-switch:has(.toggle-checkbox:disabled){opacity:.6;cursor:not-allowed}.toggle-switch:has(.toggle-checkbox:disabled):before{background-color:hsl(var(--muted) / .5);cursor:not-allowed}.toggle-switch:has(.toggle-checkbox:disabled):after{background-color:hsl(var(--muted))}.combat-party-mode-section{padding:.75rem 1rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:.75rem}@media (min-width: 768px){.combat-party-mode-section{padding:1rem 1.25rem;margin-bottom:1rem}}.combat-party-mode-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.combat-party-mode-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-party-mode-title{font-size:1rem}}.combat-party-mode-toggle{display:flex;gap:.25rem;background-color:hsl(var(--muted));padding:.25rem;border-radius:var(--radius-sm)}.combat-party-mode-button{padding:.375rem .75rem;font-size:.75rem;font-weight:500;border:none;border-radius:.25rem;cursor:pointer;background-color:transparent;color:hsl(var(--muted-foreground));transition:all var(--duration-fast) ease}@media (min-width: 768px){.combat-party-mode-button{padding:.5rem 1rem;font-size:.875rem}}.combat-party-mode-button:hover{background-color:hsl(var(--muted) / .8);color:hsl(var(--foreground))}.combat-party-mode-button-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.combat-party-mode-button-active:hover{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));opacity:.9}.combat-party-selector-section{padding:.75rem 1rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:.75rem}@media (min-width: 768px){.combat-party-selector-section{padding:1rem 1.25rem;margin-bottom:1rem}}.combat-party-selector-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.combat-party-selector-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground))}@media (min-width: 768px){.combat-party-selector-title{font-size:1rem}}.combat-party-selector-count{font-size:.75rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted));padding:.25rem .5rem;border-radius:var(--radius-sm)}@media (min-width: 768px){.combat-party-selector-count{font-size:.875rem}}.combat-party-selector-controls{display:flex;gap:.5rem;margin-bottom:.75rem}.combat-party-selector-control-btn{padding:.375rem .75rem;font-size:.75rem;font-weight:500;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-fast) ease}.combat-party-selector-control-btn:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--foreground))}.combat-party-selector-control-btn:disabled{opacity:.5;cursor:not-allowed}.combat-party-selector-empty{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;padding:1rem;background-color:hsl(var(--muted) / .3);border-radius:var(--radius-sm)}.combat-party-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}@media (min-width: 768px){.combat-party-selector-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}}.combat-party-selector-card{position:relative;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.combat-party-selector-card:hover{transform:translateY(-2px)}.combat-party-selector-card-selected{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.combat-party-selector-card-disabled{opacity:.6}.combat-party-selector-card-disabled .party-card{pointer-events:none}.combat-party-selector-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--background) / .7);border-radius:var(--radius);font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.combat-enemy-resistances{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-top:.25rem}.combat-enemy-resistance-group{display:flex;flex-wrap:wrap;gap:.15rem;align-items:center}.combat-enemy-resistance{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:3px;font-size:.625rem;cursor:help;transition:transform .15s ease,box-shadow .15s ease;border-width:1.5px;border-style:solid}.combat-enemy-resistance:hover{transform:scale(1.15);box-shadow:0 2px 4px #0003}.combat-enemy-resistance-half{background-color:transparent}.combat-enemy-resistance-immunity{border-width:2px}@media (min-width: 768px){.combat-enemy-resistance{width:1.375rem;height:1.375rem;font-size:.6875rem}}@keyframes combat-enemy-spawn{0%{opacity:0;transform:translateY(16px) scale(.9)}50%{transform:translateY(-4px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes combat-enemy-spawn-elite{0%{opacity:0;transform:translateY(24px) scale(.85)}40%{transform:translateY(-8px) scale(1.05)}70%{transform:translateY(2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes combat-enemy-spawn-boss{0%{opacity:0;transform:translateY(32px) scale(.8) rotate(-2deg)}30%{transform:translateY(-12px) scale(1.08) rotate(1deg)}50%{transform:translateY(4px) scale(.97) rotate(-.5deg)}70%{transform:translateY(-2px) scale(1.02) rotate(.25deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes combat-preview-title-pop{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.combat-config-enemy-card-animated{animation:combat-enemy-spawn .4s var(--ease-out-quart) forwards;opacity:0}.combat-config-enemy-card-animated:nth-child(1){animation-delay:0ms}.combat-config-enemy-card-animated:nth-child(2){animation-delay:60ms}.combat-config-enemy-card-animated:nth-child(3){animation-delay:.12s}.combat-config-enemy-card-animated:nth-child(4){animation-delay:.18s}.combat-config-enemy-card-animated:nth-child(5){animation-delay:.24s}.combat-config-enemy-card-animated:nth-child(6){animation-delay:.3s}.combat-config-enemy-card-animated:nth-child(7){animation-delay:.36s}.combat-config-enemy-card-animated:nth-child(8){animation-delay:.42s}.combat-config-enemy-card-animated:nth-child(9){animation-delay:.48s}.combat-config-enemy-card-animated:nth-child(10){animation-delay:.54s}.combat-config-enemy-card-animated-elite{animation:combat-enemy-spawn-elite .55s var(--ease-out-quart) forwards;opacity:0}.combat-config-enemy-card-animated-boss{animation:combat-enemy-spawn-boss .7s var(--ease-out-quart) forwards;opacity:0}.combat-config-enemy-card-animated-elite:nth-child(1){animation-delay:0ms}.combat-config-enemy-card-animated-elite:nth-child(2){animation-delay:.1s}.combat-config-enemy-card-animated-elite:nth-child(3){animation-delay:.2s}.combat-config-enemy-card-animated-elite:nth-child(4){animation-delay:.3s}.combat-config-enemy-card-animated-elite:nth-child(5){animation-delay:.4s}.combat-config-enemy-card-animated-elite:nth-child(6){animation-delay:.5s}.combat-config-enemy-card-animated-elite:nth-child(7){animation-delay:.6s}.combat-config-enemy-card-animated-elite:nth-child(8){animation-delay:.7s}.combat-config-enemy-card-animated-elite:nth-child(9){animation-delay:.8s}.combat-config-enemy-card-animated-elite:nth-child(10){animation-delay:.9s}.combat-config-enemy-card-animated-boss:nth-child(1){animation-delay:0ms}.combat-config-enemy-card-animated-boss:nth-child(2){animation-delay:.15s}.combat-config-enemy-card-animated-boss:nth-child(3){animation-delay:.3s}.combat-config-enemy-card-animated-boss:nth-child(4){animation-delay:.45s}.combat-config-enemy-card-animated-boss:nth-child(5){animation-delay:.6s}.combat-config-enemy-card-animated-boss:nth-child(6){animation-delay:.75s}.combat-config-enemy-card-animated-boss:nth-child(7){animation-delay:.9s}.combat-config-enemy-card-animated-boss:nth-child(8){animation-delay:1.05s}.combat-config-enemy-card-animated-boss:nth-child(9){animation-delay:1.2s}.combat-config-enemy-card-animated-boss:nth-child(10){animation-delay:1.35s}.combat-config-preview-title-animated{animation:combat-preview-title-pop .3s var(--ease-out-quart) forwards}@keyframes combat-preview-list-appear{0%{opacity:0}to{opacity:1}}.combat-config-preview-list-animated{animation:combat-preview-list-appear .2s ease-out forwards}@keyframes combat-enemy-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.combat-enemy-card-skeleton{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .5),hsl(var(--muted)));background-size:200% 100%;animation:combat-enemy-skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm);min-width:140px;min-height:3.5rem}@media (min-width: 768px){.combat-enemy-card-skeleton{min-width:180px;min-height:4rem}}.combat-config-preview-list-generating{display:flex;flex-wrap:wrap;gap:.25rem}@media (min-width: 768px){.combat-config-preview-list-generating{gap:.5rem}}.combat-enemy-card-gpu{transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden}@media (prefers-reduced-motion: reduce){.combat-config-enemy-card-animated,.combat-config-enemy-card-animated-elite,.combat-config-enemy-card-animated-boss,.combat-config-preview-title-animated,.combat-config-preview-list-animated{animation:none;opacity:1;transform:none}.combat-enemy-card-skeleton{animation:none;background:hsl(var(--muted))}}@media (max-width: 480px){.combat-container{gap:.75rem}.combat-header{flex-direction:column;align-items:flex-start;gap:.5rem}.combat-title{font-size:1rem}.combat-pregame{gap:.75rem}.combat-config-panel{padding:.5rem}.combat-config-title{font-size:.875rem}.combat-config-section{padding:.5rem}.combat-config-row{grid-template-columns:1fr;gap:.75rem}.combat-config-label{font-size:.6875rem}.combat-config-select,.combat-config-input{font-size:.75rem;padding:.5rem;min-height:2.25rem}.combat-template-info{padding:.5rem}.combat-template-badges{flex-wrap:wrap}.combat-template-badge{font-size:.5625rem;padding:.125rem .375rem}.combat-template-ability,.combat-rarity-info{flex-direction:column;align-items:flex-start;gap:.125rem}.combat-party-mode-header{flex-direction:column;align-items:flex-start;gap:.5rem}.combat-party-mode-toggle{width:100%}.combat-party-mode-button{flex:1;font-size:.6875rem;padding:.5rem}.combat-party-selector-grid{grid-template-columns:1fr;gap:.5rem}.combat-party-selector-card{max-width:100%}.combat-config-preview-list{flex-direction:column}.combat-config-enemy-card{min-width:100%;padding:.5rem}.combat-config-enemy-name{font-size:.75rem}.combat-config-enemy-details{font-size:.625rem}.combat-config-actions{flex-direction:column}.combat-config-button{width:100%}.combat-audio-profile-bar{gap:.25rem}.combat-audio-profile-label{min-width:2rem;font-size:.5625rem}.combat-audio-profile-value{font-size:.5625rem}.combat-content{gap:.75rem}.combat-stats{grid-template-columns:1fr 1fr;gap:.375rem}.combat-stat-text{font-size:.6875rem}.combat-controls{padding:.5rem}.combat-controls-title{font-size:.75rem}.combat-controls-label{font-size:.625rem}.combat-attacks-grid{flex-direction:column;gap:.375rem}.combat-attack-card{padding:.5rem}.combat-attack-name{font-size:.75rem}.combat-targets-grid{flex-direction:column;gap:.375rem}.combat-target-button{padding:.5rem}.combat-target-name{font-size:.75rem}.combat-target-hp{font-size:.625rem}.combat-spell-section{padding:.5rem}.combat-spell-header{font-size:.75rem}.combat-spell-slots-grid{flex-wrap:wrap;gap:.375rem}.combat-spell-slot-badge{font-size:.5625rem}.combat-spells-grid{flex-direction:column;gap:.375rem;max-height:none}.combat-spell-button{padding:.5rem}.combat-spell-name{font-size:.75rem}.combat-spell-details{font-size:.625rem}.combat-area{flex-direction:column;gap:.75rem}.combat-initiative{width:100%}.combat-initiative-inner{padding:.5rem;position:relative;top:0}.combat-initiative-title{font-size:.6875rem;margin-bottom:.375rem}.combat-initiative-list{gap:.25rem}.combat-initiative-item{font-size:.5625rem;padding:.25rem .375rem}.combat-initiative-number{min-width:1rem}.combat-initiative-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-initiative-value{margin-left:auto;font-size:.5625rem}.combat-initiative-group-header{font-size:.5625rem;padding:.25rem .375rem}.combat-combatants-grid{grid-template-columns:1fr;gap:.5rem}.combat-combatants-group .combat-combatants-grid{grid-template-columns:1fr}.combat-combatant-card{padding:.5rem}.combat-combatant-name{font-size:.75rem}.combat-combatant-badges{flex-wrap:wrap;gap:.25rem}.combat-enemy-badge{font-size:.5rem;padding:.125rem .25rem}.combat-combatant-hp-bar{height:.375rem}.combat-combatant-hp-text{font-size:.5625rem}.combat-tactical-actions{gap:.25rem;padding:.375rem}.combat-tactical-button{padding:.25rem .5rem;font-size:.5625rem;min-height:1.75rem}.combat-log{padding:.5rem;font-size:.625rem;max-height:150px}.combat-log-entry{padding:.25rem 0;font-size:.5625rem}.combat-victory,.combat-defeat{padding:1rem}.combat-victory h2,.combat-defeat h2{font-size:1.25rem}.combat-victory-stats{font-size:.75rem}.combat-treasure-section{padding:.5rem}.combat-treasure-gold{font-size:.875rem}.combat-audio-panel{padding:.5rem}.combat-audio-song-list{gap:.375rem}.combat-audio-song-item{padding:.375rem;font-size:.625rem}.combat-advanced-options{padding:.5rem}.combat-advanced-toggle{flex-direction:column;align-items:flex-start;gap:.5rem}.combat-advanced-toggle-label{font-size:.6875rem}.combat-config-preview-title{font-size:.75rem}.encounter-summary-panel{padding:.5rem}.encounter-summary-header{flex-direction:column;align-items:flex-start;gap:.375rem}.encounter-summary-title{font-size:.75rem}.encounter-summary-stats-grid{grid-template-columns:repeat(2,1fr);gap:.375rem}.encounter-summary-stat{padding:.375rem}.encounter-summary-stat-value{font-size:.75rem}.encounter-summary-thresholds-grid{grid-template-columns:repeat(2,1fr)}.template-browser-header{padding:.5rem}.template-browser-title{font-size:.75rem}.template-browser-content{padding:0 .5rem .5rem}.template-browser-filters{grid-template-columns:1fr;gap:.5rem;padding:.5rem}.template-browser-search{grid-column:1}.template-browser-grid{grid-template-columns:1fr;gap:.375rem}.template-browser-card{padding:.5rem}.template-browser-card-name{font-size:.75rem}.party-analyzer-card{padding:.5rem .75rem;gap:.5rem}.party-analyzer-stats-grid{grid-template-columns:repeat(2,1fr);gap:.375rem}.party-analyzer-stat{padding:.375rem .5rem}.party-analyzer-xp-grid{grid-template-columns:repeat(2,1fr)}.combat-enemy-card-skeleton{min-width:100%;height:3rem}.combat-template-chips{flex-direction:column;gap:.25rem}.combat-template-chip{width:100%;font-size:.625rem;padding:.25rem .5rem}.combat-config-hint{font-size:.5625rem}.combat-treasure-item{flex-direction:column;align-items:flex-start;gap:.375rem}.combat-difficulty-thresholds{flex-direction:column;gap:.25rem}.combat-summon-info{padding:.375rem;font-size:.5625rem}}@media (min-width: 480px) and (max-width: 640px){.combat-config-row{grid-template-columns:1fr;gap:.75rem}.combat-party-selector-grid{grid-template-columns:repeat(2,1fr)}.combat-config-preview-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.combat-config-enemy-card{min-width:0}.template-browser-grid{grid-template-columns:repeat(2,1fr)}.party-analyzer-stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.combat-config-button,.combat-config-select,.combat-target-button,.combat-spell-button,.combat-tactical-button,.combat-party-mode-button{min-height:44px}.combat-template-chip{min-height:36px;padding:.5rem .75rem}.combat-audio-song-item{min-height:40px;padding:.5rem}.combat-config-checkbox,.combat-config-radio{min-width:24px;min-height:24px}}@media (max-width: 768px) and (orientation: landscape){.combat-pregame{max-height:70vh;overflow-y:auto}.combat-initiative-inner{max-height:60vh;overflow-y:auto}.combat-log{max-height:120px}.combat-victory,.combat-defeat{padding:.75rem}.template-browser-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.combat-party-selector-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width: 380px){.combat-config-label,.combat-config-hint{font-size:.5625rem}.combat-config-select,.combat-config-input,.combat-combatant-name{font-size:.6875rem}.combat-initiative-item,.combat-log-entry{font-size:.5rem}}@media (max-width: 767px){.combat-container,.combat-pregame,.combat-config-panel,.combat-config-section,.combat-config-row,.combat-template-info,.combat-rarity-info,.combat-party-mode-section,.combat-party-selector-grid,.combat-config-preview-list,.combat-config-actions,.combat-audio-profile-section,.combat-difficulty-multiplier-presets,.combat-stat-levels-section,.combat-stat-sliders,.template-browser,.template-browser-filters,.template-browser-grid,.party-analyzer-card,.party-analyzer-stats-grid,.party-analyzer-xp-grid,.encounter-summary-panel,.encounter-summary-stats-grid,.encounter-summary-thresholds-grid{width:100%;min-width:0;overflow:hidden}.combat-title{font-size:1.1rem}.combat-subtitle{font-size:.75rem}.combat-config-title{font-size:.875rem}.combat-config-label{font-size:.6875rem}.combat-config-hint{font-size:.625rem}.combat-template-name{font-size:.875rem}.combat-template-cr{font-size:.75rem}.combat-template-badge{font-size:.5625rem}.combat-template-ability-name{font-size:.6875rem}.combat-template-ability-desc{font-size:.625rem}.combat-rarity-label{font-size:.6875rem}.combat-config-enemy-name{font-size:.8rem}.combat-config-enemy-details{font-size:.6875rem}.combat-audio-profile-label,.combat-difficulty-multiplier-description{font-size:.625rem}.combat-preset-button{font-size:.5625rem}.combat-stat-levels-hint,.combat-stat-slider-label{font-size:.6875rem}.combat-stat-over,.combat-stat-under{font-size:.625rem}.combat-container,.combat-pregame{gap:.75rem}.combat-config-panel{padding:.6rem}.combat-config-section{padding:.6rem;gap:.6rem}.combat-config-row{gap:.75rem}.combat-template-info{padding:.5rem;gap:.5rem}.combat-template-badges{gap:.3rem}.combat-party-mode-section,.combat-party-selector-grid{gap:.6rem}.combat-config-preview-list,.combat-config-actions{gap:.5rem}.combat-audio-profile-bar{gap:.3rem}.combat-difficulty-multiplier{gap:.4rem}.combat-difficulty-multiplier-presets{gap:.3rem}.combat-stat-levels-content{gap:.5rem}.combat-stat-slider{gap:.15rem}.combat-config-row,.combat-party-selector-grid{grid-template-columns:1fr}.combat-config-preview-list,.combat-config-actions{flex-direction:column}.template-browser-filters{grid-template-columns:1fr}.template-browser-search{grid-column:1 / -1}.template-browser-grid{grid-template-columns:1fr}.party-analyzer-stats-grid,.party-analyzer-xp-grid,.encounter-summary-stats-grid,.encounter-summary-thresholds-grid{grid-template-columns:repeat(2,1fr)}.combat-header,.combat-party-mode-header{flex-direction:column;align-items:flex-start;gap:.5rem}.combat-party-mode-toggle{width:100%}.combat-template-badges{flex-wrap:wrap}.combat-rarity-info{flex-direction:column;align-items:flex-start;gap:.15rem}.combat-audio-profile-section{gap:.5rem}.combat-stat-levels-presets{gap:.3rem}.combat-config-button,.combat-party-mode-button{width:100%}.combat-config-button,.combat-config-select,.combat-target-button,.combat-spell-button,.combat-tactical-button,.combat-party-mode-button,.combat-template-chip{min-height:44px}.combat-config-checkbox,.combat-config-radio{min-width:24px;min-height:24px}}@media print{.combat-container{font-size:10pt}.combat-config-panel,.combat-initiative-inner,.combat-combatant-card{-moz-column-break-inside:avoid;break-inside:avoid}.combat-config-actions,.combat-tactical-actions,.combat-controls,.combat-spell-section{display:none}.encounter-summary-panel{border:2px solid #000;-moz-column-break-after:page;break-after:page}}@media (forced-colors: active){.combat-config-enemy-card,.combat-combatant-card,.combat-initiative-item{border-width:2px}.combat-combatant-hp-bar{border:1px solid CanvasText}}@media (prefers-reduced-data: reduce){.combat-config-enemy-card-animated,.combat-config-enemy-card-animated-elite,.combat-config-enemy-card-animated-boss,.combat-config-preview-title-animated{animation:none}.combat-enemy-card-skeleton{animation:none;background:hsl(var(--muted))}}.combat-difficulty-multiplier-section{margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border) / .5)}@media (min-width: 768px){.combat-difficulty-multiplier-section{margin-top:1.25rem;padding-top:1.25rem}}.combat-config-field-full{flex:1 1 100%;min-width:100%}.combat-difficulty-multiplier{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 768px){.combat-difficulty-multiplier{flex-direction:row;align-items:center;gap:.75rem}}.combat-difficulty-multiplier-slider{flex:1;height:.375rem;border-radius:var(--radius-sm);background:hsl(var(--muted));-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.combat-difficulty-multiplier-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;border-radius:50%;background:hsl(var(--primary));cursor:pointer;-webkit-transition:transform var(--duration-fast) ease;transition:transform var(--duration-fast) ease}.combat-difficulty-multiplier-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.combat-difficulty-multiplier-slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:none}.combat-difficulty-multiplier-value{display:flex;align-items:center;gap:.5rem;min-width:7rem}.combat-difficulty-multiplier-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;min-width:2.5rem}.combat-difficulty-badge-clickable{cursor:pointer;transition:all var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.combat-difficulty-badge-clickable:hover{transform:scale(1.05);box-shadow:0 0 0 2px hsl(var(--primary) / .3)}.combat-difficulty-badge-clickable:active{transform:scale(.98)}.combat-difficulty-multiplier-input{width:4rem;padding:.25rem .5rem;border-radius:var(--radius-sm);border:2px solid hsl(var(--primary));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.75rem;font-weight:600;text-align:center;outline:none}.combat-difficulty-multiplier-easier{background-color:#1fad5333;color:#3cdd77}.combat-difficulty-multiplier-normal{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.combat-difficulty-multiplier-harder{background-color:#ad1f1f33;color:#e05252}.combat-difficulty-multiplier-description{font-size:.6875rem;color:hsl(var(--muted-foreground))}@media (min-width: 768px){.combat-difficulty-multiplier-description{font-size:.75rem}}.combat-difficulty-multiplier-presets{display:flex;gap:.375rem;margin-top:.25rem;flex-wrap:wrap}@media (min-width: 768px){.combat-difficulty-multiplier-presets{gap:.5rem;margin-top:.375rem}}.combat-preset-button{padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border));background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.625rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}@media (min-width: 768px){.combat-preset-button{padding:.375rem .625rem;font-size:.75rem}}.combat-preset-button:hover{background-color:hsl(var(--accent));border-color:hsl(var(--primary) / .5)}.combat-preset-button-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.combat-stat-levels-section{margin-top:1rem;border:1px solid hsl(var(--border));border-radius:var(--radius, .5rem);overflow:hidden}.combat-stat-levels-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:none;background:hsl(var(--muted) / .15);color:hsl(var(--foreground));font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.combat-stat-levels-toggle:hover{background:hsl(var(--muted) / .25)}.combat-stat-levels-toggle-text{display:flex;align-items:center;gap:.5rem}.combat-stat-badge{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:9999px;background:hsl(var(--primary) / .15);color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.03em}.combat-stat-levels-content{padding:.75rem;display:flex;flex-direction:column;gap:.625rem}.combat-stat-levels-hint{font-size:.72rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4}.combat-stat-levels-presets{display:flex;gap:.375rem;flex-wrap:wrap}.combat-preset-reset{color:hsl(var(--muted-foreground))}.combat-stat-sliders{display:flex;flex-direction:column;gap:.625rem}.combat-stat-slider{display:flex;flex-direction:column;gap:.2rem}.combat-stat-slider-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:hsl(var(--foreground))}.combat-stat-value{font-weight:600;font-variant-numeric:tabular-nums}.combat-stat-over{color:#22c322;font-size:.7rem;margin-left:.15rem}.combat-stat-under{color:#d92626;font-size:.7rem;margin-left:.15rem}.combat-stat-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:2px;outline:none}.combat-stat-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background));box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.settings-container{display:flex;flex-direction:column;gap:2rem}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.settings-header-content{display:flex;align-items:center;gap:1rem}.settings-header-icon{width:2rem;height:2rem;color:hsl(var(--primary))}.settings-title{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));line-height:1.2}.settings-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground));margin-top:.25rem}.settings-save-indicator{display:flex;align-items:center;gap:.5rem;color:hsl(var(--cute-teal));font-size:.875rem;font-weight:500}.settings-save-icon{width:1rem;height:1rem}.settings-about{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius-lg)}.settings-about-icon{width:1.5rem;height:1.5rem;color:hsl(var(--primary));flex-shrink:0}.settings-about-text{flex:1;font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.5}.settings-about-link{display:inline-flex;align-items:center;gap:.25rem;color:hsl(var(--primary));text-decoration:none;font-weight:500;transition:opacity .15s ease}.settings-about-link:hover{opacity:.8;text-decoration:underline}.settings-about-link-icon{opacity:.6}.settings-section{display:flex;flex-direction:column;gap:1rem}.settings-section-header{display:flex;align-items:center;gap:.75rem}.settings-section-icon{width:1.25rem;height:1.25rem;color:hsl(var(--muted-foreground))}.settings-section-title{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground))}.settings-section-danger{padding-top:1rem;border-top:1px solid hsl(var(--destructive) / .3)}.settings-section-header-danger .settings-section-icon,.settings-section-icon-danger{color:hsl(var(--destructive))}.settings-cards-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.settings-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.settings-cards-grid{grid-template-columns:repeat(3,1fr)}}.settings-card{display:flex;flex-direction:column;gap:1rem}.settings-api-key-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.settings-api-key-icon{width:1.25rem;height:1.25rem;color:hsl(var(--primary))}.settings-api-key-icon-discord{color:#6b26d9}.settings-api-key-title{font-size:.9375rem;font-weight:600;color:hsl(var(--foreground))}.settings-input-wrapper{flex:1}.settings-validation-status{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;padding:.5rem .75rem;border-radius:.375rem}.settings-validation-valid{background-color:hsl(var(--cute-teal) / .1);color:hsl(var(--cute-teal))}.settings-validation-invalid{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.settings-validation-validating{background-color:hsl(var(--cute-yellow) / .1);color:hsl(var(--cute-yellow))}.settings-validation-icon{width:1rem;height:1rem;flex-shrink:0}.settings-validation-icon-valid{color:hsl(var(--cute-teal))}.settings-validation-icon-invalid{color:hsl(var(--destructive))}.settings-validation-message{flex:1}.settings-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:settingsSpin .75s linear infinite}.settings-audio-card{display:flex;flex-direction:column;gap:1.25rem}.settings-audio-content{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.settings-audio-content{flex-direction:row;align-items:flex-start;gap:1.5rem}}.settings-audio-info{flex:1;min-width:200px}.settings-label{display:block;font-size:.875rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:.25rem}.settings-value-highlight{color:hsl(var(--primary));font-weight:600}.settings-description{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5}.settings-select{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);font-size:.875rem;line-height:1.25rem;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);cursor:pointer;min-width:140px}.settings-select:hover{border-color:hsl(var(--muted-foreground))}.settings-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.settings-fft-options{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:hsl(var(--surface-1));border-radius:var(--radius)}.settings-fft-option{display:flex;align-items:center;gap:.75rem;font-size:.8125rem}.settings-fft-value{font-weight:600;color:hsl(var(--primary));min-width:3rem}.settings-fft-desc{color:hsl(var(--muted-foreground))}.settings-xp-card{display:flex;flex-direction:column;gap:1rem}.settings-xp-header{display:flex;align-items:center;justify-content:space-between}.settings-slider-container{display:flex;flex-direction:column;gap:.75rem}.settings-slider{width:100%;height:.5rem;background:hsl(var(--muted));border-radius:9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.settings-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25rem;height:1.25rem;background:hsl(var(--primary));border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm);-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}.settings-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.settings-slider::-moz-range-thumb{width:1.25rem;height:1.25rem;background:hsl(var(--primary));border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-sm);-moz-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}.settings-slider::-moz-range-thumb:hover{transform:scale(1.1)}.settings-slider-marks{display:flex;justify-content:space-between;font-size:.75rem;color:hsl(var(--muted-foreground))}.settings-debug-card{display:flex;flex-direction:column;gap:1rem}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-toggle-info{flex:1}.settings-toggle-label{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.settings-toggle{position:relative;display:inline-flex;width:2.75rem;height:1.5rem;flex-shrink:0;background-color:hsl(var(--input));border-radius:9999px;transition:background-color var(--duration-normal) var(--ease-out-cubic);cursor:pointer;border:none;padding:0}.settings-toggle:hover{background-color:hsl(var(--muted))}.settings-toggle-active{background-color:hsl(var(--primary))}.settings-toggle-active:hover{background-color:hsl(var(--primary) / .9)}.settings-toggle-slider{position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out-cubic)}.settings-toggle-active .settings-toggle-slider{transform:translate(1.25rem)}.settings-toggle-group{display:inline-flex;border-radius:var(--radius);overflow:hidden;border:1px solid hsl(var(--border));flex-shrink:0}.settings-toggle-option{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;background:transparent;color:hsl(var(--muted-foreground));border:none;cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast)}.settings-toggle-option:not(:last-child){border-right:1px solid hsl(var(--border))}.settings-toggle-option:hover{background-color:hsl(var(--muted))}.settings-toggle-option-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.settings-toggle-option-active:hover{background-color:hsl(var(--primary) / .9)}.settings-verbose-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:hsl(var(--cute-teal) / .1);color:hsl(var(--cute-teal));border-radius:var(--radius);font-size:.8125rem}.settings-verbose-icon{width:1rem;height:1rem;flex-shrink:0}.settings-data-card{display:flex;flex-direction:column;gap:1.25rem}.settings-data-description{font-size:.875rem;color:hsl(var(--muted-foreground))}.settings-data-actions{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 480px){.settings-data-actions{flex-direction:row}}.settings-import-wrapper{position:relative}.settings-file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.settings-status-message{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--radius);font-size:.875rem}.settings-status-success{background-color:hsl(var(--cute-teal) / .1);color:hsl(var(--cute-teal))}.settings-status-error{background-color:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.settings-status-warning{background-color:hsl(var(--cute-yellow) / .1);color:hsl(var(--cute-yellow))}.settings-status-icon{width:1rem;height:1rem;flex-shrink:0}.settings-export-details{padding-top:1rem;border-top:1px solid hsl(var(--border))}.settings-export-details-title{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.settings-export-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.settings-export-list li{font-size:.8125rem;color:hsl(var(--muted-foreground));padding-left:1rem;position:relative}.settings-export-list li:before{content:"•";position:absolute;left:0;color:hsl(var(--muted-foreground) / .5)}.settings-danger-card{display:flex;flex-direction:column;gap:1rem;background-color:hsl(var(--destructive) / .05);border-color:hsl(var(--destructive) / .3)}.settings-danger-content{display:flex;align-items:flex-start;gap:1rem}.settings-danger-icon{width:1.5rem;height:1.5rem;color:hsl(var(--destructive));flex-shrink:0}.settings-danger-text{flex:1}.settings-danger-title{font-size:1rem;font-weight:600;color:hsl(var(--destructive))}.settings-card-disabled{position:relative;opacity:.85}.settings-discord-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,hsl(var(--card) / .97),hsl(var(--card) / .99));border-radius:var(--radius);text-align:center}.settings-discord-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:hsl(var(--cute-orange) / .15);color:hsl(var(--cute-orange));border-radius:9999px;font-size:.8125rem;font-weight:600}.settings-discord-badge svg{width:1rem;height:1rem}.settings-discord-message{max-width:280px}.settings-discord-message p{margin:0;font-size:.8125rem;line-height:1.5;color:hsl(var(--muted-foreground))}.settings-discord-message p+p{margin-top:.5rem}.settings-discord-message a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.settings-discord-message a:hover{color:hsl(var(--primary) / .8)}@media (max-width: 767px){.settings-container{gap:1rem}.settings-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding-bottom:.75rem}.settings-header-content{gap:.75rem}.settings-header-icon{width:1.5rem;height:1.5rem}.settings-title{font-size:1.125rem}.settings-subtitle{font-size:.75rem}.settings-save-indicator{font-size:.75rem;align-self:flex-start}.settings-about{padding:.75rem;flex-direction:column;align-items:flex-start;gap:.75rem}.settings-about-icon{width:1.25rem;height:1.25rem}.settings-about-text{font-size:.75rem}.settings-section{gap:.75rem}.settings-section-header{gap:.5rem}.settings-section-icon{width:1rem;height:1rem}.settings-section-title{font-size:.9375rem}.settings-cards-grid{grid-template-columns:1fr!important;gap:.75rem}.settings-card{gap:.75rem}.settings-api-key-header{gap:.5rem;padding-bottom:.5rem}.settings-api-key-icon{width:1rem;height:1rem}.settings-api-key-title{font-size:.8125rem}.settings-validation-status{font-size:.6875rem;padding:.375rem .5rem;gap:.375rem}.settings-validation-icon{width:.875rem;height:.875rem}.settings-audio-card,.settings-audio-content{gap:.75rem}.settings-audio-info{min-width:0}.settings-label{font-size:.75rem}.settings-select{padding:.5rem .625rem;font-size:.75rem;min-width:120px}.settings-fft-options{padding:.5rem;gap:.375rem}.settings-fft-option{font-size:.6875rem;gap:.5rem}.settings-fft-value{min-width:2.5rem}.settings-debug-card,.settings-toggle-row{gap:.75rem}.settings-toggle-label{font-size:.75rem}.settings-toggle{width:2.25rem;height:1.25rem}.settings-toggle-slider{width:1rem;height:1rem;top:.0938rem;left:.0938rem}.settings-toggle-active .settings-toggle-slider{transform:translate(1rem)}.settings-toggle-group{flex-wrap:wrap}.settings-toggle-option{padding:.375rem .625rem;font-size:.6875rem}.settings-verbose-notice{padding:.5rem;font-size:.6875rem;gap:.375rem}.settings-verbose-icon{width:.875rem;height:.875rem}.settings-data-card{gap:.75rem}.settings-data-description{font-size:.75rem}.settings-data-actions{gap:.5rem}.settings-export-btn,.settings-import-btn{font-size:.75rem}.settings-status-message{padding:.5rem;font-size:.75rem;gap:.375rem}.settings-status-icon{width:.875rem;height:.875rem}.settings-export-details{padding-top:.75rem}.settings-export-details-title{font-size:.6875rem;margin-bottom:.375rem}.settings-export-list li{font-size:.6875rem;padding-left:.75rem}.settings-danger-card,.settings-danger-content{gap:.75rem}.settings-danger-icon{width:1.25rem;height:1.25rem}.settings-danger-title{font-size:.875rem}.settings-description{font-size:.6875rem}.settings-reset-btn{width:100%;font-size:.75rem}.settings-discord-overlay{padding:1rem}.settings-discord-badge{font-size:.6875rem;padding:.375rem .75rem}.settings-discord-badge svg{width:.875rem;height:.875rem}.settings-discord-message p{font-size:.6875rem}}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:confirmDialogOverlayFadeIn .2s ease-out}@keyframes confirmDialogOverlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog-container{position:relative;width:100%;max-width:28rem;display:flex;flex-direction:column;background:linear-gradient(135deg,#29203c,#241532);border:2px solid hsl(260 60% 45% / .5);border-radius:1rem;box-shadow:0 0 0 1px #7e47eb33,0 25px 50px -12px #00000080,0 0 80px -20px #7e47eb4d;animation:confirmDialogSlideIn .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.confirm-dialog-container.confirm-dialog-destructive{border-color:#b82e2e80;box-shadow:0 0 0 1px #e6191933,0 25px 50px -12px #00000080,0 0 80px -20px #d9262633}@keyframes confirmDialogSlideIn{0%{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.confirm-dialog-close-btn{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:#9285ad;cursor:pointer;transition:background-color .2s ease,color .2s ease;z-index:1}.confirm-dialog-close-btn:hover:not(:disabled){background:#0003;color:#e4e0eb}.confirm-dialog-close-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #7e47eb80}.confirm-dialog-close-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-content{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 1.5rem;text-align:center}.confirm-dialog-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin-bottom:1rem;background:#5229a333;border:1px solid hsl(260 60% 50% / .4);border-radius:50%;color:#9167e4}.confirm-dialog-icon.confirm-dialog-icon-destructive{background:#a3292933;border-color:#c336;color:#e46767}.confirm-dialog-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:#f1f0f5;letter-spacing:.01em}.confirm-dialog-destructive .confirm-dialog-title{color:#fad1d1}.confirm-dialog-message{margin:0;font-size:.875rem;line-height:1.5;color:#afa7be;max-width:24rem}.confirm-dialog-actions{display:flex;justify-content:center;gap:.75rem;padding:1rem 1.5rem 1.5rem}.confirm-dialog-actions .button{min-width:5rem}@media (max-width: 480px){.confirm-dialog-overlay{padding:.5rem;align-items:flex-end}.confirm-dialog-container{max-width:100%;border-radius:1rem 1rem 0 0}.confirm-dialog-content{padding:1.5rem 1.25rem 1.25rem}.confirm-dialog-icon{width:3rem;height:3rem;margin-bottom:.75rem}.confirm-dialog-icon svg{width:20px;height:20px}.confirm-dialog-title{font-size:1.125rem}.confirm-dialog-message{font-size:.8125rem}.confirm-dialog-actions{flex-direction:column;padding:.875rem 1.25rem 1.25rem}.confirm-dialog-actions .button{width:100%}}@media (max-width: 360px){.confirm-dialog-overlay{padding:0;align-items:stretch}.confirm-dialog-container{max-width:100%;border-radius:0}.confirm-dialog-content{padding:1.25rem 1rem 1rem}.confirm-dialog-icon{width:2.5rem;height:2.5rem;margin-bottom:.5rem}.confirm-dialog-title{font-size:1rem}.confirm-dialog-message{font-size:.75rem}.confirm-dialog-actions{padding:.75rem 1rem 1rem;gap:.5rem}}@media (prefers-reduced-motion: reduce){.confirm-dialog-overlay,.confirm-dialog-container{animation:none}}@media (hover: none) and (pointer: coarse){.confirm-dialog-close-btn:hover{background:transparent;color:#9285ad}.confirm-dialog-close-btn:active{background:#0003;color:#e4e0eb}}.simulation-history-item{display:flex;flex-direction:column;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:hidden;transition:all .2s ease;flex-shrink:0}.simulation-history-item:hover{border-color:hsl(var(--primary) / .3);box-shadow:0 2px 8px hsl(var(--foreground) / .08)}.simulation-history-item-active{border-color:hsl(var(--primary) / .5);box-shadow:0 2px 8px hsl(var(--primary) / .1)}.simulation-history-item-main{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s ease;min-height:56px}.simulation-history-item-main:hover{background-color:hsl(var(--muted) / .2)}.simulation-history-item-win-rate{display:flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:700;flex-shrink:0;min-width:56px;justify-content:center}.simulation-history-win-rate-high{background-color:#16a24926;color:#1cce5e;border:1px solid hsl(142 76% 36% / .3)}.simulation-history-win-rate-medium{background-color:#facc1426;color:#facc14;border:1px solid hsl(48 96% 53% / .3)}.simulation-history-win-rate-low{background-color:#fa7f1426;color:#fa7f14;border:1px solid hsl(28 96% 53% / .3)}.simulation-history-win-rate-critical{background-color:#ef434326;color:#ef4343;border:1px solid hsl(0 84% 60% / .3)}.simulation-history-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.simulation-history-item-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.simulation-history-item-label{font-size:.85rem;font-weight:500;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simulation-history-item-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.simulation-history-item-meta-tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:hsl(var(--muted-foreground))}.simulation-history-item-time{font-size:.7rem;color:hsl(var(--muted-foreground))}.simulation-history-item-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.simulation-history-item-load-btn{padding:.2rem .5rem;font-size:.7rem;font-weight:500;color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.simulation-history-item-load-btn:hover{background-color:hsl(var(--primary) / .2);border-color:hsl(var(--primary) / .4)}.simulation-history-item-delete-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:hsl(var(--muted-foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.simulation-history-item-delete-btn:hover{color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .1)}.simulation-history-item-compare-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;font-size:.65rem;font-weight:700}.simulation-history-item-compare-btn:hover{color:hsl(var(--primary));border-color:hsl(var(--primary) / .4);background-color:hsl(var(--primary) / .08)}.simulation-history-item-slot-a{color:#308ce8;border-color:#308ce866;background-color:#308ce81a;cursor:default}.simulation-history-item-slot-b{color:#f48c25;border-color:#f48c2566;background-color:#f48c251a;cursor:default}.simulation-history-item-toggle{color:hsl(var(--muted-foreground));display:flex;align-items:center}.simulation-history-item-details{padding:.75rem 1rem 1rem;border-top:1px solid hsl(var(--border) / .5)}.simulation-history-item-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.simulation-history-item-detail{display:flex;flex-direction:column;gap:.15rem}.simulation-history-item-detail-label{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.simulation-history-item-detail-value{font-size:.8rem;color:hsl(var(--foreground))}.simulation-history-detail-deaths{display:inline-flex;align-items:center;gap:.25rem;color:hsl(var(--destructive))}@media (max-width: 640px){.simulation-history-item-main{gap:.5rem;padding:.6rem .75rem}.simulation-history-item-label{font-size:.8rem;max-width:120px}.simulation-history-item-details-grid{grid-template-columns:1fr 1fr}.simulation-history-item-meta{gap:.4rem}}.chart-container{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:visible;transition:border-color var(--duration-fast) var(--ease-out-cubic)}.chart-container:hover{border-color:hsl(var(--muted-foreground) / .3)}.chart-container-header{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border))}.chart-container-title{font-size:var(--font-size-sm);font-weight:600;color:hsl(var(--foreground));margin:0;line-height:1.4}.chart-container-subtitle{font-size:var(--font-size-xs);color:hsl(var(--muted-foreground));margin:.25rem 0 0;line-height:1.4}.chart-container-body{padding:.5rem;min-height:var(--chart-min-h, 280px);width:100%;position:relative;display:flex;flex-direction:column}.chart-container-body .recharts-responsive-container{min-height:100%}.chart-container-body .recharts-tooltip-wrapper{z-index:50}.chart-container-body .recharts-cartesian-axis-tick-value{font-family:ui-monospace,monospace;font-size:11px}.chart-container-body .recharts-legend-item-text{color:hsl(var(--foreground))!important;font-size:12px}@media (max-width: 640px){.chart-container-header{padding:.5rem .75rem}.chart-container-title{font-size:var(--font-size-xs)}.chart-container-body{padding:.25rem;min-height:calc(var(--chart-min-h, 280px) * .75)}}.wrc-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:180px}.wrc-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.03em}.wrc-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.wrc-tooltip-row.wrc-tooltip-detail{padding-left:1.25rem}.wrc-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.wrc-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.wrc-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.wrc-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.wrc-chart .recharts-error-bar{stroke-linecap:round}@media (max-width: 640px){.wrc-tooltip{min-width:150px;padding:.5rem .625rem}.wrc-tooltip-title,.wrc-tooltip-label{font-size:11px}.wrc-tooltip-value{font-size:12px}}.dpr-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:200px}.dpr-tooltip-title{font-size:13px;font-weight:700;margin-bottom:.375rem;text-transform:none;letter-spacing:0}.dpr-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.dpr-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.dpr-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.dpr-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.dpr-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.dpr-chart .chart-container-body{min-height:200px}.dpr-bar-highlighted{filter:brightness(1.3) drop-shadow(0 0 6px currentColor)}.dpr-chart .chart-container-subtitle:before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;vertical-align:middle}@media (max-width: 640px){.dpr-tooltip{min-width:160px;padding:.5rem .625rem}.dpr-tooltip-title{font-size:12px}.dpr-tooltip-label{font-size:11px}.dpr-tooltip-value{font-size:12px}}.hpd-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:160px}.hpd-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.03em}.hpd-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.hpd-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.hpd-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.hpd-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.hpd-empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.5rem}.hpd-empty-text{font-size:13px;color:hsl(var(--muted-foreground));text-align:center}@media (max-width: 640px){.hpd-tooltip{min-width:140px;padding:.5rem .625rem}.hpd-tooltip-title,.hpd-tooltip-label{font-size:11px}.hpd-tooltip-value{font-size:12px}}.tdc-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:170px}.tdc-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.03em}.tdc-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.tdc-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tdc-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.tdc-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.tdc-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.tdc-summary{display:flex;flex-direction:column;gap:.375rem;padding:1rem 1.25rem;min-height:120px;justify-content:center}.tdc-summary-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem 0;border-bottom:1px solid hsl(var(--border))}.tdc-summary-row:last-of-type{border-bottom:none}.tdc-summary-label{font-size:13px;color:hsl(var(--muted-foreground))}.tdc-summary-value{font-size:14px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace}.tdc-summary-hint{font-size:12px;color:hsl(var(--muted-foreground));text-align:center;margin-top:.5rem;opacity:.7;font-style:italic}.tdc-detailed-stats{display:flex;justify-content:center;gap:1.5rem;font-size:.75rem;color:hsl(var(--muted-foreground));padding-bottom:.5rem}.tdc-detailed-stats strong{color:hsl(var(--foreground))}.tdc-chart .recharts-legend-item-text{font-size:12px}@media (max-width: 640px){.tdc-tooltip{min-width:150px;padding:.5rem .625rem}.tdc-tooltip-title,.tdc-tooltip-label{font-size:11px}.tdc-tooltip-value{font-size:12px}.tdc-summary{padding:.75rem 1rem}.tdc-summary-label{font-size:12px}.tdc-summary-value{font-size:13px}}.survival-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:200px}.survival-tooltip-title{font-size:13px;font-weight:700;margin-bottom:.375rem;text-transform:none;letter-spacing:0}.survival-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.survival-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.survival-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.survival-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.survival-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.survival-chart .chart-container-body{min-height:200px}.survival-bar-highlighted{filter:brightness(1.3) drop-shadow(0 0 6px currentColor)}@media (max-width: 640px){.survival-tooltip{min-width:160px;padding:.5rem .625rem}.survival-tooltip-title{font-size:12px}.survival-tooltip-label{font-size:11px}.survival-tooltip-value{font-size:12px}}.ddd-selector{display:flex;align-items:center;gap:.625rem;padding:.375rem .75rem;border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--surface-1))}.ddd-selector-label{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap;text-transform:uppercase;letter-spacing:.03em}.ddd-select{flex:1;min-width:0;padding:.3rem 1.75rem .3rem .5rem;font-size:13px;font-family:inherit;color:hsl(var(--foreground));background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius, 6px);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='hsl(var(--muted-foreground))' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;max-width:300px}.ddd-select:hover{border-color:hsl(var(--muted-foreground) / .5)}.ddd-select:focus{outline:2px solid hsl(var(--primary));outline-offset:1px;border-color:hsl(var(--primary))}.ddd-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:160px}.ddd-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.03em}.ddd-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.ddd-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.ddd-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.ddd-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.ddd-empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.5rem}.ddd-empty-text{font-size:13px;color:hsl(var(--muted-foreground));text-align:center}.ddd-chart .chart-container-body{min-height:200px}@media (max-width: 640px){.ddd-selector{flex-wrap:wrap;gap:.375rem;padding:.3rem .5rem}.ddd-select{max-width:none;font-size:12px}.ddd-tooltip{min-width:140px;padding:.5rem .625rem}.ddd-tooltip-title,.ddd-tooltip-label{font-size:11px}.ddd-tooltip-value{font-size:12px}}.hm-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:200px}.hm-tooltip-title{font-size:13px;font-weight:700;margin-bottom:.375rem;text-transform:none;letter-spacing:0}.hm-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.hm-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.hm-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.hm-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.hm-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.hm-chart .chart-container-body{min-height:200px}@media (max-width: 640px){.hm-tooltip{min-width:160px;padding:.5rem .625rem}.hm-tooltip-title{font-size:12px}.hm-tooltip-label{font-size:11px}.hm-tooltip-value{font-size:12px}}.swrc-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:200px}.swrc-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.03em}.swrc-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.swrc-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.swrc-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.swrc-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.swrc-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.swrc-sweet-spots{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem 1.25rem .625rem;border-top:1px solid hsl(var(--border));margin-top:.25rem}.swrc-sweet-spots-label{font-size:11px;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em;margin-right:.25rem}.swrc-sweet-spot-tag{display:inline-flex;align-items:center;font-size:11px;font-weight:500;padding:.125rem .5rem;border-radius:4px;border:1px solid;white-space:nowrap}.swrc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;gap:.375rem}.swrc-empty-text{font-size:14px;color:hsl(var(--muted-foreground));font-weight:500}.swrc-empty-hint{font-size:12px;color:hsl(var(--muted-foreground));opacity:.7;font-style:italic}.swrc-chart .recharts-active-dot{filter:drop-shadow(0 0 4px hsl(var(--primary)))}@media (max-width: 640px){.swrc-tooltip{min-width:160px;padding:.5rem .625rem}.swrc-tooltip-title,.swrc-tooltip-label{font-size:11px}.swrc-tooltip-value{font-size:12px}.swrc-sweet-spots{padding:.375rem 1rem .5rem}.swrc-sweet-spots-label{font-size:10px}.swrc-sweet-spot-tag{font-size:10px;padding:.1rem .375rem}}.coc-metric-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.coc-metric-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.coc-metric-select{font-size:.8rem;font-weight:500;color:hsl(var(--foreground));background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius-sm, 4px);padding:.3rem .5rem;cursor:pointer;outline:none;transition:border-color .15s ease}.coc-metric-select:hover{border-color:hsl(var(--border) / 1.5)}.coc-metric-select:focus-visible{border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary) / .2)}.coc-metric-select option{background-color:hsl(var(--surface-3));color:hsl(var(--foreground))}.coc-legend{display:flex;align-items:center;gap:1rem;padding-bottom:.5rem;flex-wrap:wrap}.coc-legend-item{display:inline-flex;align-items:center;gap:.35rem}.coc-legend-line{display:inline-block;width:18px;height:3px;border-radius:2px}.coc-legend-item:nth-child(2) .coc-legend-line{background-image:repeating-linear-gradient(90deg,currentColor 0px,currentColor 6px,transparent 6px,transparent 10px);height:3px;background-color:transparent}.coc-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#c90;border:2px solid hsl(var(--background))}.coc-legend-text{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.coc-legend-crossover{margin-left:.5rem;padding-left:.5rem;border-left:1px solid hsl(var(--border))}.coc-crossover-dot{animation:coc-pulse 2s ease-in-out infinite}@keyframes coc-pulse{0%,to{opacity:1}50%{opacity:.5}}.coc-tooltip{background-color:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 6px -1px #0006;padding:.625rem .75rem;min-width:200px}.coc-tooltip-title{font-size:12px;font-weight:600;color:hsl(var(--foreground));margin-bottom:.375rem}.coc-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.125rem 0}.coc-tooltip-row.coc-tooltip-side{margin-top:.125rem}.coc-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.coc-tooltip-label{font-size:12px;color:hsl(var(--muted-foreground));flex:1}.coc-tooltip-value{font-size:13px;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace;text-align:right;white-space:nowrap}.coc-tooltip-delta{font-weight:700}.coc-tooltip-divider{height:1px;background:hsl(var(--border));margin:.375rem 0}.coc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:2rem 1rem;text-align:center}.coc-empty-text{font-size:.85rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0}.coc-empty-hint{font-size:.7rem;color:hsl(var(--muted-foreground) / .7);margin:0;max-width:280px}@media (max-width: 640px){.coc-metric-selector{flex-direction:column;align-items:flex-start;gap:.25rem}.coc-metric-select{width:100%}.coc-legend{gap:.6rem}.coc-legend-text{font-size:.7rem}.coc-tooltip{min-width:160px;padding:.5rem .625rem}.coc-tooltip-title,.coc-tooltip-label{font-size:11px}.coc-tooltip-value{font-size:12px}}.comparison-panel{display:flex;flex-direction:column;gap:1rem;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:visible;transition:all .2s ease}.comparison-panel:hover{border-color:hsl(var(--border) / 1.2)}.comparison-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid hsl(var(--border) / .5)}.comparison-panel-title-row{display:flex;align-items:center;gap:.625rem}.comparison-panel-icon{color:hsl(var(--primary));flex-shrink:0}.comparison-panel-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.comparison-panel-badge{font-size:.7rem;font-weight:500;color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);padding:.1rem .5rem;border-radius:999px;border:1px solid hsl(var(--primary) / .2)}.comparison-panel-clear-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;color:hsl(var(--muted-foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.comparison-panel-clear-btn:hover{color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .1)}.comparison-slots{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;padding:0 1rem;align-items:stretch}.comparison-slots-divider{display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:0 .25rem}.comparison-slot{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card));transition:all .2s ease}.comparison-slot-a{border-color:#308ce833;background-color:#308ce808}.comparison-slot-b{border-color:#f48c2533;background-color:#f48c2508}.comparison-slot-empty{display:flex;align-items:center;justify-content:center;min-height:80px;border-style:dashed}.comparison-slot-label{display:flex;align-items:center;gap:.5rem}.comparison-slot-letter{font-size:1.25rem;font-weight:800;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);flex-shrink:0}.comparison-slot-a .comparison-slot-letter{background-color:#308ce826;color:#308ce8}.comparison-slot-b .comparison-slot-letter{background-color:#f48c2526;color:#f48c25}.comparison-slot-hint{font-size:.8rem;color:hsl(var(--muted-foreground))}.comparison-slot-missing{font-size:.7rem;color:hsl(var(--destructive));margin:0}.comparison-slot-header{display:flex;align-items:center;gap:.5rem}.comparison-slot-title{flex:1;font-size:.8rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.comparison-slot-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:hsl(var(--muted-foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;flex-shrink:0}.comparison-slot-remove:hover{color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .1)}.comparison-slot-stats{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.comparison-slot-stat{display:flex;flex-direction:column;gap:.1rem}.comparison-slot-stat-label{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.comparison-slot-stat-value{font-size:.8rem;font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center;gap:.25rem}.comparison-slot-win-rate{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .35rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:700}.comparison-win-rate-high{background-color:#16a2491f;color:#1cce5e}.comparison-win-rate-medium{background-color:#facc141f;color:#facc14}.comparison-win-rate-low{background-color:#fa7f141f;color:#fa7f14}.comparison-win-rate-critical{background-color:#ef43431f;color:#ef4343}.comparison-slot-deaths{color:hsl(var(--destructive))}.comparison-slot-meta{display:flex;align-items:center;gap:.5rem;font-size:.65rem;color:hsl(var(--muted-foreground));flex-wrap:wrap}.comparison-slot-meta span{display:inline-flex;align-items:center;gap:.2rem}.comparison-deltas{border-top:1px solid hsl(var(--border) / .5);padding:.75rem 1rem .25rem}.comparison-deltas-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.5rem}.comparison-significant-badge{font-size:.65rem;font-weight:500;color:#1cce5e;background-color:#16a2491a;padding:.1rem .4rem;border-radius:999px;border:1px solid hsl(142 76% 36% / .2)}.comparison-deltas-body{display:flex;flex-direction:column;gap:0}.comparison-delta-row{display:grid;grid-template-columns:1fr 70px 90px 70px;gap:.5rem;align-items:center;padding:.4rem 0;border-bottom:1px solid hsl(var(--border) / .3)}.comparison-delta-row:last-child{border-bottom:none}.comparison-delta-label{font-size:.75rem;color:hsl(var(--muted-foreground))}.comparison-delta-value{font-size:.8rem;font-weight:600;color:hsl(var(--foreground));text-align:center}.comparison-delta-arrow{display:flex;align-items:center;justify-content:center;gap:.2rem;font-size:.75rem;font-weight:600;padding:.15rem .4rem;border-radius:var(--radius-sm)}.comparison-delta-positive{color:#1cce5e;background-color:#16a24914}.comparison-delta-negative{color:#ef4343;background-color:#ef434314}.comparison-delta-neutral{color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3)}.comparison-delta-change{font-size:.7rem}.comparison-deltas-note{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.5rem .6rem;font-size:.7rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .2);border-radius:var(--radius-sm)}.comparison-chart-section{padding:.5rem 1rem .75rem}.comparison-actions{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.25rem 1rem .75rem}.comparison-run-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;color:hsl(var(--background));background-color:hsl(var(--primary));border:1px solid hsl(var(--primary));border-radius:var(--radius);cursor:pointer;transition:all .15s ease}.comparison-run-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px hsl(var(--primary) / .3)}.comparison-run-btn:active{transform:translateY(0)}.comparison-run-hint{font-size:.65rem;color:hsl(var(--muted-foreground));margin:0;text-align:center}.comparison-running{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem}.comparison-running-spinner{color:hsl(var(--primary));animation:comparison-spin 1s linear infinite}@keyframes comparison-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.comparison-running-text{font-size:.85rem;color:hsl(var(--foreground));font-weight:500}.comparison-progress-bar{width:100%;height:4px;background-color:hsl(var(--muted) / .3);border-radius:2px;overflow:hidden}.comparison-progress-fill{height:100%;background-color:hsl(var(--primary));border-radius:2px;transition:width .3s ease}.comparison-cancel-btn{padding:.3rem .75rem;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.comparison-cancel-btn:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.comparison-significance{padding:0 1rem .75rem}.comparison-significance-card{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border-radius:var(--radius);border:1px solid}.comparison-significance-yes{background-color:#16a2490d;border-color:#16a24933}.comparison-significance-no{background-color:hsl(var(--muted) / .2);border-color:hsl(var(--border) / .5)}.comparison-significance-label{font-size:.85rem;font-weight:600}.comparison-significance-yes .comparison-significance-label{color:#1cce5e}.comparison-significance-no .comparison-significance-label{color:hsl(var(--muted-foreground))}.comparison-significance-p{font-size:.75rem;font-weight:500;color:hsl(var(--foreground));font-family:monospace}.comparison-significance-interpretation{font-size:.7rem;color:hsl(var(--muted-foreground));line-height:1.4}.comparison-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.75rem;color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .08);border-radius:var(--radius-sm);border:1px solid hsl(var(--destructive) / .15)}.comparison-empty{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.5rem 1rem;text-align:center}.comparison-empty-icon{color:hsl(var(--muted-foreground) / .3)}.comparison-empty-text{font-size:.85rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0}.comparison-empty-hint{font-size:.7rem;color:hsl(var(--muted-foreground) / .7);margin:0}@media (max-width: 640px){.comparison-slots{grid-template-columns:1fr;gap:.5rem}.comparison-slots-divider{padding:.25rem 0}.comparison-slots-divider span:before{content:""}.comparison-delta-row{grid-template-columns:1fr 55px 70px 55px;gap:.25rem}.comparison-slot-stats{grid-template-columns:1fr 1fr}.comparison-panel-header{padding:.75rem 1rem}.comparison-deltas{padding:.5rem .75rem .25rem}.comparison-actions{padding:.25rem .75rem .5rem}}.simulation-history-panel{display:flex;flex-direction:column;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:visible;transition:all .2s ease;flex-shrink:0;min-height:-moz-fit-content;min-height:fit-content}.simulation-history-panel:hover{border-color:hsl(var(--border) / 1.2)}.simulation-history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.simulation-history-panel-header:hover{background-color:hsl(var(--muted) / .2)}.simulation-history-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.simulation-history-panel-title-row{display:flex;align-items:center;gap:.625rem}.simulation-history-panel-icon{color:hsl(var(--primary));flex-shrink:0}.simulation-history-panel-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.simulation-history-panel-count{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3);padding:.1rem .4rem;border-radius:999px}.simulation-history-panel-header-actions{display:flex;align-items:center;gap:.4rem}.simulation-history-panel-clear-all-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:hsl(var(--muted-foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.simulation-history-panel-clear-all-btn:hover{color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .1)}.simulation-history-panel-toggle{color:hsl(var(--muted-foreground));display:flex;align-items:center}.simulation-history-panel-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.25rem;text-align:center}.simulation-history-panel-empty-icon{color:hsl(var(--muted-foreground) / .4)}.simulation-history-panel-empty-text{font-size:.9rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0}.simulation-history-panel-empty-hint{font-size:.8rem;color:hsl(var(--muted-foreground) / .7);margin:0}.simulation-history-panel-list{display:flex;flex-direction:column;gap:.5rem;padding:0 .75rem .75rem;max-height:500px;overflow-y:auto}.simulation-history-panel-list::-webkit-scrollbar{width:6px}.simulation-history-panel-list::-webkit-scrollbar-track{background:transparent}.simulation-history-panel-list::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .2);border-radius:3px}.simulation-history-panel-list::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .4)}.simulation-history-panel-footer{padding:0 .75rem .75rem}.simulation-history-panel-comparison{margin-top:.75rem;padding:0 .75rem .75rem}.simulation-history-panel-show-more{width:100%;padding:.4rem;font-size:.8rem;font-weight:500;color:hsl(var(--primary));background-color:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .15);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.simulation-history-panel-show-more:hover{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .25)}@media (max-width: 640px){.simulation-history-panel-header{padding:.75rem 1rem}.simulation-history-panel-list{padding:0 .5rem .5rem;gap:.4rem}.simulation-history-panel-empty{padding:1.5rem 1rem}}.party-selector{display:flex;flex-direction:column;gap:.5rem}.party-selector-header{display:flex;align-items:center;justify-content:space-between}.party-selector-label{font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.party-selector-empty-hint{font-size:.75rem;color:hsl(var(--muted-foreground) / .7);font-style:italic}.party-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.party-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:.75rem .75rem .625rem;border:1px solid hsl(var(--border));border-radius:var(--radius, .5rem);background:hsl(var(--card));cursor:pointer;transition:all .15s ease;text-align:left;color:hsl(var(--foreground))}.party-card:hover:not(:disabled){border-color:hsl(var(--primary) / .5);background:hsl(var(--accent))}.party-card:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.party-card-selected{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1);box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.party-card-selected:hover{border-color:hsl(var(--primary))}.party-card-excluded{opacity:.4;cursor:not-allowed}.party-card-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party-card-stats{display:flex;gap:.625rem}.party-card-stat{display:flex;align-items:center;gap:.2rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.party-card-stat svg{flex-shrink:0;opacity:.7}.party-card-footer{display:flex;align-items:center;justify-content:space-between}.party-card-class{font-size:.7rem;color:hsl(var(--muted-foreground) / .7);text-transform:capitalize;flex:1}.party-card-check{font-size:.55rem;font-weight:700;color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.party-card:disabled{cursor:not-allowed}.party-selector-empty{padding:1rem;border:1px dashed hsl(var(--border));border-radius:var(--radius, .5rem);text-align:center}.party-selector-empty p{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0}@media (max-width: 640px){.party-selector-grid{grid-template-columns:repeat(2,1fr)}}.encounter-config-form{display:flex;flex-direction:column;gap:.75rem}.encounter-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.ecf-field{display:flex;flex-direction:column;gap:.25rem}.ecf-field-wide{grid-column:1 / -1}.ecf-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.ecf-input,.ecf-select{padding:.4rem .5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius, .5rem) * .6);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.8rem;font-family:inherit;transition:border-color .15s ease}.ecf-input:focus,.ecf-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.ecf-input:disabled,.ecf-select:disabled{opacity:.5;cursor:not-allowed}.ecf-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.ecf-input[type=number]{width:100%;-moz-appearance:textfield}.ecf-input[type=number]::-webkit-inner-spin-button,.ecf-input[type=number]::-webkit-outer-spin-button{opacity:1}.ecf-stat-levels-section{border:1px solid hsl(var(--border));border-radius:var(--radius, .5rem);overflow:hidden}.ecf-stat-levels-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border:none;background:hsl(var(--muted) / .15);color:hsl(var(--foreground));font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.ecf-stat-levels-toggle:hover:not(:disabled){background:hsl(var(--muted) / .25)}.ecf-stat-levels-toggle:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.ecf-stat-levels-toggle-text{display:flex;align-items:center;gap:.5rem}.ecf-stat-badge{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:9999px;background:hsl(var(--primary) / .15);color:hsl(var(--primary));text-transform:uppercase;letter-spacing:.03em}.ecf-stat-levels-content{padding:.75rem;display:flex;flex-direction:column;gap:.625rem}.ecf-stat-levels-hint{font-size:.72rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4}.ecf-stat-levels-presets{display:flex;gap:.375rem;flex-wrap:wrap}.ecf-preset-btn{padding:.25rem .5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius, .5rem) * .6);background:hsl(var(--card));color:hsl(var(--foreground));font-size:.72rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:.25rem}.ecf-preset-btn:hover:not(:disabled){border-color:hsl(var(--primary) / .5);background:hsl(var(--accent))}.ecf-preset-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.ecf-preset-btn:disabled{opacity:.5;cursor:not-allowed}.ecf-preset-reset{color:hsl(var(--muted-foreground))}.ecf-stat-sliders{display:flex;flex-direction:column;gap:.625rem}.ecf-stat-slider{display:flex;flex-direction:column;gap:.2rem}.ecf-stat-slider-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:hsl(var(--foreground))}.ecf-stat-value{font-weight:600;font-variant-numeric:tabular-nums}.ecf-stat-over{color:#22c322;font-size:.7rem;margin-left:.15rem}.ecf-stat-under{color:#d92626;font-size:.7rem;margin-left:.15rem}.ecf-stat-slider input[type=range]{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:hsl(var(--border));border-radius:2px;outline:none}.ecf-stat-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:hsl(var(--primary));cursor:pointer;border:2px solid hsl(var(--background));box-shadow:0 0 0 1px hsl(var(--primary) / .3)}.ecf-stat-slider input[type=range]:disabled{opacity:.5}.ecf-stat-slider input[type=range]:disabled::-webkit-slider-thumb{cursor:not-allowed}@media (max-width: 640px){.encounter-config-grid{grid-template-columns:1fr}}.ai-strategy-selector{display:flex;flex-direction:column;gap:.5rem}.ai-strategy-label{font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.ai-strategy-options{display:flex;gap:.5rem}.ai-strategy-option{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius, .5rem);background:hsl(var(--card));cursor:pointer;transition:all .15s ease;text-align:left;color:hsl(var(--foreground))}.ai-strategy-option:hover:not(:disabled){border-color:hsl(var(--primary) / .5);background:hsl(var(--accent))}.ai-strategy-option:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.ai-strategy-active{border-color:hsl(var(--primary));background:hsl(var(--primary) / .1);box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.ai-strategy-active:hover{border-color:hsl(var(--primary))}.ai-strategy-name{font-size:.85rem;font-weight:600}.ai-strategy-desc{font-size:.7rem;color:hsl(var(--muted-foreground));line-height:1.3}.ai-strategy-option:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.ai-strategy-options{flex-direction:column}}.sim-progress-bar{display:flex;flex-direction:column;gap:.375rem}.sim-progress-track{width:100%;height:6px;background:hsl(var(--muted) / .2);border-radius:3px;overflow:hidden}.sim-progress-fill{height:100%;background:hsl(var(--primary));border-radius:3px;transition:width .2s ease;min-width:0}.sim-progress-info{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.sim-progress-count{font-variant-numeric:tabular-nums;font-weight:500}.sim-progress-winrate{font-weight:600;font-variant-numeric:tabular-nums}.sim-wr-favorable{color:#2eb85c}.sim-wr-unfavorable{color:#c33}.sim-progress-eta{display:flex;align-items:center;gap:.2rem}.sim-progress-cancel{display:flex;align-items:center;gap:.2rem;margin-left:auto;padding:.15rem .4rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius, .5rem) * .6);background:transparent;color:hsl(var(--muted-foreground));font-size:.7rem;font-family:inherit;cursor:pointer;transition:all .15s ease}.sim-progress-cancel:hover{border-color:#cc333380;color:#c33;background:#cc33330d}.sim-progress-cancel:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.pec-shimmer{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .4),hsl(var(--muted)));background-size:200% 100%;animation:pec-skeleton-shimmer 1.5s infinite;border-radius:.25rem}@keyframes pec-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pec-card{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card) / .5)}.pec-header{display:flex;align-items:center;justify-content:space-between}.pec-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.pec-party-size{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground) / .7)}.pec-stats-row{display:flex;flex-wrap:wrap;gap:.375rem}.pec-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--radius, .5rem) * .6);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.75rem;white-space:nowrap;cursor:default}.pec-pill svg{color:hsl(var(--muted-foreground));flex-shrink:0}.pec-pill-label{font-weight:500;color:hsl(var(--muted-foreground));font-size:.7rem}.pec-pill-value{font-weight:600;font-variant-numeric:tabular-nums}.pec-dpr-buffer{font-weight:400;opacity:.6;font-size:.65rem}.pec-xp-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pec-xp-label{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground) / .7)}.pec-xp-budget{display:inline-flex;align-items:center;gap:.25rem;padding:.175rem .4rem;border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius, .5rem) * .5);background-color:hsl(var(--muted) / .08);font-size:.7rem;transition:border-color .15s ease,background-color .15s ease}.pec-xp-tier{font-weight:600;color:hsl(var(--muted-foreground))}.pec-xp-value{font-weight:600;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}.pec-xp-clear{border-color:#1cce5e40;background-color:#1cce5e0f}.pec-xp-clear .pec-xp-tier{color:#1cce5e}.pec-xp-near{border-color:#facc144d;background-color:#facc1414}.pec-xp-near .pec-xp-tier{color:#facc14}.pec-xp-exceeded{border-color:#ef43434d;background-color:#ef434314}.pec-xp-exceeded .pec-xp-tier{color:#ef4343}.pec-card-loading{pointer-events:none}.pec-skeleton-title{width:80px;height:.7rem}.pec-skeleton-pill{width:60px;height:1.5rem}.pec-skeleton-xp{width:72px;height:1.25rem}@media (max-width: 640px){.pec-stats-row{gap:.25rem}.pec-pill{padding:.2rem .375rem;font-size:.7rem}.pec-xp-row{gap:.375rem}.pec-xp-budget{padding:.15rem .3rem;font-size:.65rem}}.pill-tooltip-portal{padding:.3rem .5rem;background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--border));border-radius:.25rem;font-size:.7rem;font-weight:400;line-height:1.35;white-space:normal;word-break:break-word;box-shadow:0 2px 8px #00000026}.eec-shimmer{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .4),hsl(var(--muted)));background-size:200% 100%;animation:eec-skeleton-shimmer 1.5s infinite;border-radius:.25rem}@keyframes eec-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.eec-card{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card) / .5)}.eec-header{display:flex;align-items:center;justify-content:space-between}.eec-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.eec-count{font-size:.75rem;font-weight:700;color:hsl(var(--foreground));background-color:hsl(var(--muted) / .15);padding:.1rem .35rem;border-radius:calc(var(--radius, .5rem) * .4)}.eec-meta{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground) / .7);text-transform:capitalize}.eec-sample-select{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground) / .7);background:transparent;border:1px solid hsl(var(--border) / .4);border-radius:4px;padding:0 2px;cursor:pointer;margin-left:auto;width:auto;flex-shrink:0}.eec-stats-row{display:flex;flex-wrap:wrap;gap:.375rem}.eec-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--radius, .5rem) * .6);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.75rem;white-space:nowrap;cursor:default}.eec-pill svg{color:hsl(var(--muted-foreground));flex-shrink:0}.eec-pill-label{font-weight:500;color:hsl(var(--muted-foreground));font-size:.7rem}.eec-pill-value{font-weight:600;font-variant-numeric:tabular-nums}.eec-adjusted-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.eec-adjusted-main{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;border:1px solid hsl(var(--border) / .5);border-radius:calc(var(--radius, .5rem) * .5);background-color:hsl(var(--muted) / .08)}.eec-adjusted-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.eec-adjusted-label{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground) / .7)}.eec-adjusted-value{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}.eec-multiplier-hint{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground) / .6);font-style:italic}.eec-card-loading{pointer-events:none}.eec-skeleton-title{width:90px;height:.7rem}.eec-skeleton-pill{width:60px;height:1.5rem}.eec-skeleton-adjusted{width:140px;height:1.5rem}@media (max-width: 640px){.eec-stats-row{gap:.25rem}.eec-pill{padding:.2rem .375rem;font-size:.7rem}.eec-adjusted-row{flex-direction:column;align-items:flex-start;gap:.25rem}.eec-meta{font-size:.65rem}}.eec-card-unavailable{opacity:.7}.eec-unavailable{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;border-radius:var(--radius-sm);background-color:hsl(var(--muted) / .08)}.eec-unavailable-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.eec-unavailable-text{font-size:.72rem;color:hsl(var(--muted-foreground));font-style:italic}.pdb-card{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card) / .5)}.pdb-header{display:flex;align-items:center;justify-content:space-between}.pdb-header-left{display:flex;align-items:center;gap:.35rem}.pdb-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.pdb-title{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.pdb-badge{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:calc(var(--radius, .5rem) * .5);text-transform:capitalize;letter-spacing:.02em}.pdb-diff-easy{color:#16a249;background-color:#1cce5e1f;border:1px solid hsl(142 76% 46% / .3)}.pdb-diff-medium{color:#a58503;background-color:#facc141f;border:1px solid hsl(48 96% 53% / .3)}.pdb-diff-hard{color:#c75605;background-color:#f974151f;border:1px solid hsl(25 95% 53% / .3)}.pdb-diff-deadly{color:#d31212;background-color:#ef43431f;border:1px solid hsl(0 84% 60% / .3)}.pdb-bar-track{position:relative;display:flex;height:10px;border-radius:5px;overflow:hidden;border:1px solid hsl(var(--border) / .5)}.pdb-bar-segment{flex:1;position:relative;transition:opacity .15s ease}.pdb-bar-segment:first-child{border-radius:4px 0 0 4px}.pdb-bar-segment:last-child{border-radius:0 4px 4px 0}.pdb-seg-easy{background-color:#1cce5e33}.pdb-seg-medium{background-color:#facc1433}.pdb-seg-hard{background-color:#f9741533}.pdb-seg-deadly{background-color:#ef434333}.pdb-bar-marker{position:absolute;top:-2px;bottom:-2px;width:3px;background-color:hsl(var(--foreground));border-radius:2px;transform:translate(-50%);z-index:2;box-shadow:0 0 4px hsl(var(--foreground) / .5);transition:left .3s ease}.pdb-tier-labels{display:flex;margin-top:-.15rem}.pdb-tier-label{flex:1;text-align:center;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.pdb-tl-easy{color:#1cce5e}.pdb-tl-medium{color:#facc14}.pdb-tl-hard{color:#f97415}.pdb-tl-deadly{color:#ef4343}.pdb-stats-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-top:.15rem}.pdb-stat{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;white-space:nowrap}.pdb-stat-label{font-weight:500;color:hsl(var(--muted-foreground) / .7)}.pdb-stat-value{font-weight:700;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}.pdb-stat-sep{color:hsl(var(--muted-foreground) / .4);font-size:.68rem}.pdb-stat-divider{width:1px;height:.75rem;background-color:hsl(var(--border) / .6);flex-shrink:0}.pdb-diff-easy.pdb-stat-value{color:#16a249}.pdb-diff-medium.pdb-stat-value{color:#a58503}.pdb-diff-hard.pdb-stat-value{color:#c75605}.pdb-diff-deadly.pdb-stat-value{color:#d31212}.pdb-hint{margin:0;font-size:.68rem;font-weight:500;color:hsl(var(--muted-foreground) / .6);font-style:italic}@media (max-width: 640px){.pdb-stats-row{flex-direction:column;align-items:flex-start;gap:.25rem}.pdb-stat-divider{display:none}.pdb-hint{font-size:.63rem}}.sim-config-panel{display:flex;flex-direction:column;gap:.875rem}.scp-section{display:flex;flex-direction:column;gap:.5rem}.scp-section-header{display:flex;align-items:center;justify-content:space-between}.scp-section-label{font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em}.scp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.scp-field{display:flex;flex-direction:column;gap:.25rem}.scp-field-wide{grid-column:1 / -1}.scp-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.scp-input,.scp-select{padding:.4rem .5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius, .5rem) * .6);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.8rem;font-family:inherit;transition:border-color .15s ease}.scp-input:focus,.scp-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary) / .2)}.scp-input:disabled,.scp-select:disabled{opacity:.5;cursor:not-allowed}.scp-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.scp-ai-strategies{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.scp-toggle-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0}.scp-toggle-row input[type=checkbox]{width:14px;height:14px;accent-color:hsl(var(--primary));cursor:pointer}.scp-toggle-label{font-size:.8rem;color:hsl(var(--foreground));font-weight:500}.scp-toggle-hint{font-size:.7rem;color:hsl(var(--muted-foreground) / .7);margin-left:auto}.scp-toggle-row input:disabled~.scp-toggle-label,.scp-toggle-row input:disabled~.scp-toggle-hint{opacity:.5}.scp-locked-enemies{display:flex;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.72rem;color:hsl(var(--primary));background-color:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .25);border-radius:calc(var(--radius, .5rem) * .6)}.scp-locked-clear-btn{margin-left:auto;padding:.1rem .4rem;font-size:.65rem;font-weight:600;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border) / .6);border-radius:4px;cursor:pointer;transition:all .15s ease}.scp-locked-clear-btn:hover{color:hsl(var(--foreground));border-color:hsl(var(--foreground))}.scp-error{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;border:1px solid hsl(0 60% 50% / .3);border-radius:calc(var(--radius, .5rem) * .6);background:#cc33330d;color:#c33;font-size:.78rem}.scp-actions{display:flex;gap:.5rem}.scp-actions-top{margin-bottom:.5rem}.scp-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius, .5rem);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.scp-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.scp-btn:disabled{opacity:.4;cursor:not-allowed}.scp-btn-run{flex:1;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.scp-btn-run:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px hsl(var(--primary) / .3)}.scp-btn-cancel{flex:1;background:transparent;color:#c33;border-color:#c336}.scp-btn-cancel:hover:not(:disabled){background:#cc33331a}.scp-btn-reset{flex:1;background:hsl(var(--muted) / .2);color:hsl(var(--foreground));border-color:hsl(var(--border))}.scp-btn-reset:hover:not(:disabled){background:hsl(var(--muted) / .3)}.scp-shortcut-hint{display:inline-flex;align-items:center;padding:.1rem .35rem;margin-left:.375rem;border:1px solid hsl(var(--primary-foreground) / .3);border-radius:3px;background:hsl(var(--primary-foreground) / .1);color:hsl(var(--primary-foreground) / .7);font-family:inherit;font-size:.65rem;font-weight:500;letter-spacing:.02em;line-height:1.2;white-space:nowrap}@media (max-width: 640px){.scp-settings-grid,.scp-ai-strategies{grid-template-columns:1fr}.scp-shortcut-hint{display:none}}.ee-container{display:flex;flex-direction:column;gap:.75rem}.ee-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ee-header-left{display:flex;align-items:center;gap:.5rem}.ee-header-icon{color:hsl(var(--primary));flex-shrink:0}.ee-header-title{font-size:.85rem;font-weight:600;color:hsl(var(--foreground));margin:0}.ee-header-count{font-size:.7rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);padding:.1rem .4rem;border-radius:999px}.ee-header-actions{display:flex;gap:.25rem}.ee-view-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease}.ee-view-btn:hover{color:hsl(var(--foreground));border-color:hsl(var(--border) / 1.5)}.ee-view-btn-active{color:hsl(var(--primary));border-color:hsl(var(--primary) / .4);background:hsl(var(--primary) / .08)}.ee-filters{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;background:hsl(var(--muted) / .08);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius)}.ee-filter-row{display:flex;align-items:center;gap:.4rem}.ee-search-wrap{position:relative;flex:1}.ee-search-icon{position:absolute;left:.4rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}.ee-search-input{width:100%;padding:.35rem 1.8rem;font-size:.75rem;font-family:inherit;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground));outline:none;transition:border-color .15s ease;box-sizing:border-box}.ee-search-input:focus{border-color:hsl(var(--primary) / .5)}.ee-search-input::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.ee-search-input::placeholder{color:hsl(var(--muted-foreground) / .6)}.ee-search-clear{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;color:hsl(var(--muted-foreground));cursor:pointer;border-radius:50%;padding:0}.ee-search-clear:hover{color:hsl(var(--foreground));background:hsl(var(--muted) / .3)}.ee-filter-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.ee-filter-select{padding:.3rem .4rem;font-size:.7rem;font-family:inherit;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);color:hsl(var(--foreground));outline:none;cursor:pointer;min-width:0;max-width:140px;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.ee-filter-select:focus{border-color:hsl(var(--primary) / .5)}.ee-clear-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .5rem;font-size:.65rem;font-family:inherit;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:all .15s ease}.ee-clear-btn:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.ee-templates{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.ee-templates::-webkit-scrollbar{width:5px}.ee-templates::-webkit-scrollbar-track{background:transparent}.ee-templates::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .15);border-radius:3px}.ee-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:hsl(var(--muted-foreground));font-size:.8rem}.ee-category-group{display:flex;flex-direction:column;gap:.35rem}.ee-category-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground));padding-left:.15rem}.ee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.4rem}.ee-tile{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s ease}.ee-tile:hover{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .04)}.ee-tile-selected{border-color:hsl(var(--primary) / .6);background:hsl(var(--primary) / .08);box-shadow:0 0 0 1px hsl(var(--primary) / .15)}.ee-tile-header{display:flex;align-items:center;gap:.3rem}.ee-tile-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ee-tile-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ee-tile-archetype{font-size:.55rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));flex-shrink:0}.ee-tile-sparklines{display:flex;gap:.25rem;padding:.1rem 0;overflow:hidden;flex-shrink:0}.ee-sparkline{display:block;flex-shrink:0;min-width:0}.ee-tile-stats{display:flex;gap:.5rem;font-size:.6rem;color:hsl(var(--muted-foreground))}.ee-tile-stat{white-space:nowrap}.ee-tile-sig{font-size:.55rem;color:hsl(var(--muted-foreground) / .7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ee-templates-list .ee-grid,.ee-templates-list .ee-category-group{display:none}.ee-list{display:flex;flex-direction:column;gap:.2rem}.ee-list-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s ease;width:100%;overflow:hidden}.ee-list-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ee-list-row:hover{border-color:hsl(var(--primary) / .3);background:hsl(var(--primary) / .04)}.ee-list-row-selected{border-color:hsl(var(--primary) / .6);background:hsl(var(--primary) / .08)}.ee-list-cat{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground));width:70px;flex-shrink:0;text-transform:capitalize}.ee-list-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));width:90px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ee-list-arch{font-size:.6rem;font-weight:500;text-transform:uppercase;color:hsl(var(--muted-foreground));width:50px;flex-shrink:0}.ee-list-base{font-size:.65rem;color:hsl(var(--muted-foreground));width:75px;flex-shrink:0}.ee-list-sparklines{display:flex;gap:.25rem;overflow:hidden;flex-shrink:1;min-width:0}.ee-list-sig{font-size:.6rem;color:hsl(var(--muted-foreground) / .7);width:80px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ee-list-chevron{color:hsl(var(--muted-foreground) / .4);flex-shrink:0}.ee-spectrum{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--card));border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius);animation:ee-fade-in .2s ease}@keyframes ee-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ee-spectrum-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ee-spectrum-title-row{display:flex;align-items:center;gap:.5rem}.ee-spectrum-icon{color:hsl(var(--primary));flex-shrink:0}.ee-spectrum-title{font-size:.85rem;font-weight:600;color:hsl(var(--foreground));margin:0}.ee-spectrum-count{font-size:.65rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);padding:.1rem .4rem;border-radius:999px}.ee-spectrum-controls{display:flex;align-items:center;gap:.4rem}.ee-close-spectrum{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:none;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .15s ease;padding:0}.ee-close-spectrum:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.ee-spectrum-legend{display:flex;gap:.75rem;padding:.25rem 0;border-bottom:1px solid hsl(var(--border) / .5)}.ee-legend-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;color:hsl(var(--muted-foreground))}.ee-cr-list{display:flex;flex-direction:column;gap:.2rem;max-height:320px;overflow-y:auto}.ee-cr-list::-webkit-scrollbar{width:5px}.ee-cr-list::-webkit-scrollbar-track{background:transparent}.ee-cr-list::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .15);border-radius:3px}.ee-cr-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:hsl(var(--muted) / .05);border:1px solid hsl(var(--border) / .4);border-radius:var(--radius-sm);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:all .15s ease;width:100%}.ee-cr-row:hover{background:hsl(var(--primary) / .04);border-color:hsl(var(--primary) / .2)}.ee-cr-row-selected{background:hsl(var(--primary) / .08);border-color:hsl(var(--primary) / .5);box-shadow:inset 3px 0 0 0 var(--rarity-color, hsl(var(--primary)))}.ee-cr-row-plateaued{opacity:.65}.ee-cr-row-plateaued:hover{opacity:1}.ee-plateau-tag{font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .3);padding:.05rem .3rem;border-radius:999px;flex-shrink:0}.ee-cr-badge{font-size:.7rem;font-weight:700;color:hsl(var(--foreground));width:42px;flex-shrink:0}.ee-rarity-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;width:58px;flex-shrink:0}.ee-cr-stats{display:flex;gap:.6rem;flex:1;min-width:0}.ee-cr-stat{display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;color:hsl(var(--muted-foreground));white-space:nowrap}.ee-cr-stat svg{flex-shrink:0;opacity:.6}.ee-cr-weapons{font-size:.55rem;color:hsl(var(--muted-foreground) / .5);width:100px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ee-detail{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);animation:ee-fade-in .2s ease}.ee-detail-header{display:flex;flex-direction:column;gap:.3rem}.ee-detail-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ee-detail-name{font-size:1rem;font-weight:700;color:hsl(var(--foreground));margin:0}.ee-detail-cr{font-size:.75rem;font-weight:700;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:.1rem .4rem;border-radius:var(--radius-sm)}.ee-detail-rarity{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ee-detail-tags{display:flex;gap:.3rem;flex-wrap:wrap}.ee-tag{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground));background:hsl(var(--muted) / .2);padding:.1rem .35rem;border-radius:999px;border:1px solid hsl(var(--border) / .4)}.ee-detail-scores{display:grid;grid-template-columns:repeat(6,1fr);gap:.3rem}.ee-score{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.35rem .25rem;background:hsl(var(--muted) / .08);border:1px solid hsl(var(--border) / .4);border-radius:var(--radius-sm);cursor:default}.ee-score-name{font-size:.55rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground))}.ee-score-val{font-size:.85rem;font-weight:700;color:hsl(var(--foreground))}.ee-score-mod{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground))}.ee-detail-bars{display:flex;flex-direction:column;gap:.35rem}.ee-stat-bar{display:flex;align-items:center;gap:.4rem}.ee-stat-bar-label{font-size:.65rem;font-weight:600;color:hsl(var(--muted-foreground));width:28px;flex-shrink:0}.ee-stat-bar-track{flex:1;height:6px;background:hsl(var(--muted) / .2);border-radius:3px;overflow:hidden}.ee-stat-bar-fill{height:100%;border-radius:3px;transition:width .3s ease;min-width:0}.ee-stat-bar-value{font-size:.7rem;font-weight:600;color:hsl(var(--foreground));width:32px;text-align:right;flex-shrink:0}.ee-detail-ability{display:flex;align-items:flex-start;gap:.4rem;padding:.5rem;background:hsl(var(--primary) / .04);border:1px solid hsl(var(--primary) / .1);border-radius:var(--radius-sm)}.ee-detail-ability-icon{color:hsl(var(--primary));flex-shrink:0;margin-top:.1rem}.ee-detail-ability-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ee-detail-ability-name{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.ee-detail-ability-desc{font-size:.65rem;color:hsl(var(--muted-foreground));line-height:1.35}.ee-detail-ability-dmg{font-size:.6rem;color:hsl(var(--muted-foreground) / .7)}.ee-detail-weapons{display:flex;align-items:flex-start;gap:.4rem;color:hsl(var(--muted-foreground))}.ee-detail-weapon-list{display:flex;flex-direction:column;gap:.1rem;font-size:.65rem}.ee-detail-weapon{color:hsl(var(--foreground) / .8)}.ee-detail-resistances{display:flex;align-items:flex-start;gap:.4rem;color:hsl(var(--muted-foreground))}.ee-detail-res-list{display:flex;flex-direction:column;gap:.1rem;font-size:.6rem}.ee-resist{color:#3c8cdd}.ee-immune{color:#dd3c3c}.ee-detail-xp{display:flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:hsl(var(--muted-foreground))}@media (max-width: 767px){.ee-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.3rem}.ee-tile{padding:.4rem}.ee-tile-name{font-size:.7rem}.ee-tile-stats{font-size:.55rem;gap:.3rem}.ee-cr-stats{gap:.4rem;flex-wrap:wrap}.ee-cr-weapons{display:none}.ee-detail-scores{grid-template-columns:repeat(3,1fr)}.ee-list-cat{width:55px}.ee-list-base{display:none}}@media (max-width: 640px){.ee-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.ee-spectrum-header{flex-direction:column;align-items:flex-start}}.ee-scaling-chart{display:flex;flex-direction:column;gap:.35rem;padding:.5rem;background:hsl(var(--muted) / .06);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);overflow:hidden}.ee-chart-svg{display:block;max-width:100%;height:auto}.ee-chart-legend{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.ee-chart-legend-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;color:hsl(var(--muted-foreground))}.ee-chart-legend-note{color:hsl(var(--muted-foreground) / .5);font-style:italic}.ee-chart-swatch{display:inline-block;width:8px;height:3px;border-radius:1px}.seb-container{position:relative;display:inline-flex}.seb-trigger{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.seb-trigger:hover{color:hsl(var(--foreground));border-color:hsl(var(--foreground) / .3);background-color:hsl(var(--muted) / .15)}.seb-trigger:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.seb-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:200px;padding:.25rem;background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 12px #00000026;animation:seb-menu-in .12s ease-out}@keyframes seb-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.seb-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;font-size:.75rem;color:hsl(var(--foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .1s ease;text-align:left}.seb-menu-item:hover{background-color:hsl(var(--accent))}.seb-menu-item:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.seb-menu-icon{flex-shrink:0;color:hsl(var(--muted-foreground))}.seb-menu-icon-json{color:#19a1e6}.seb-menu-icon-csv{color:#1fad53}.seb-menu-icon-copy{color:#995cd6}.seb-menu-item:hover .seb-menu-icon-json,.seb-menu-item:hover .seb-menu-icon-csv,.seb-menu-item:hover .seb-menu-icon-copy{color:hsl(var(--foreground))}.seb-menu-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.seb-menu-label{font-weight:600;white-space:nowrap}.seb-menu-desc{font-size:.65rem;color:hsl(var(--muted-foreground));white-space:nowrap}.seb-menu-item:hover .seb-menu-desc{color:hsl(var(--muted-foreground) / .8)}.seb-scope-toggle{display:flex;align-items:center;gap:.25rem;padding:.35rem .5rem;border-bottom:1px solid hsl(var(--border));margin-bottom:.15rem}.seb-scope-btn{padding:.2rem .55rem;font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all .12s ease}.seb-scope-btn:hover{color:hsl(var(--foreground));border-color:hsl(var(--foreground) / .3)}.seb-scope-active{color:hsl(var(--primary));border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .08)}.seb-scope-desc{margin-left:auto;font-size:.6rem;color:hsl(var(--muted-foreground));white-space:nowrap;padding-left:.35rem}.rs-results-summary{display:flex;flex-direction:column;gap:.75rem}.rs-win-rate-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem;border-radius:var(--radius);border:1px solid;text-align:center;cursor:help}.rs-win-rate-high{background-color:#16a24914;border-color:#16a24933}.rs-win-rate-medium{background-color:#facc1414;border-color:#facc1433}.rs-win-rate-low{background-color:#fa7f1414;border-color:#fa7f1433}.rs-win-rate-critical{background-color:#ef434314;border-color:#ef434333}.rs-win-rate-value{font-size:2rem;font-weight:800;line-height:1}.rs-win-rate-high .rs-win-rate-value{color:#1cce5e}.rs-win-rate-medium .rs-win-rate-value{color:#facc14}.rs-win-rate-low .rs-win-rate-value{color:#fa7f14}.rs-win-rate-critical .rs-win-rate-value{color:#ef4343}.rs-win-rate-label{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.rs-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.rs-metric{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .25rem;background-color:hsl(var(--muted) / .1);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .5);cursor:help}.rs-metric-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.rs-metric-value{font-size:1rem;font-weight:700;color:hsl(var(--foreground));line-height:1.2}.rs-metric-danger{color:#ef4343}.rs-metric-success{color:#1cce5e}.rs-metric-label{font-size:.6rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.rs-balance-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:var(--radius);border:1px solid;cursor:help}.rs-balance-balanced{background-color:#16a2490d;border-color:#16a24933}.rs-balance-underpowered{background-color:#facc140d;border-color:#facc1433}.rs-balance-overpowered{background-color:#ef43430d;border-color:#ef434333}.rs-balance-header{display:flex;align-items:center;justify-content:space-between}.rs-balance-difficulty-row{display:flex;align-items:center;gap:.75rem}.rs-balance-difficulty{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;text-transform:capitalize}.rs-balance-balanced .rs-balance-difficulty{color:#1cce5e}.rs-balance-underpowered .rs-balance-difficulty{color:#facc14}.rs-balance-overpowered .rs-balance-difficulty{color:#ef4343}.rs-balance-intended{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground));text-transform:capitalize}.rs-balance-score{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground))}.rs-cancelled-notice{font-size:.75rem;color:hsl(var(--muted-foreground));padding:.4rem .6rem;background-color:hsl(var(--muted) / .2);border-radius:var(--radius-sm);text-align:center}.rs-results-actions{display:flex;align-items:center;gap:.5rem;padding-top:.25rem}.rs-action-spacer{flex:1}.rs-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;border:1px solid}.rs-action-save{color:hsl(var(--background));background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.rs-action-save:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px hsl(var(--primary) / .3)}.rs-action-reset{color:hsl(var(--muted-foreground));background:none;border-color:hsl(var(--border))}.rs-action-reset:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.rs-saved-indicator{font-size:.7rem;font-weight:500;color:#1cce5e;padding:.2rem .5rem;background-color:#16a2491a;border-radius:999px}@media (max-width: 640px){.rs-metrics-grid{grid-template-columns:repeat(2,1fr)}.rs-win-rate-value{font-size:1.5rem}.rs-balance-difficulty-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.pcm-per-combatant-metrics{display:flex;flex-direction:column;gap:.5rem}.pcm-header{display:flex;align-items:center;gap:.4rem;padding-bottom:.25rem;border-bottom:1px solid hsl(var(--border) / .5)}.pcm-header-icon{color:hsl(var(--primary));flex-shrink:0}.pcm-header-title{font-size:.8rem;font-weight:700;color:hsl(var(--foreground))}.pcm-header-count{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:auto}.pcm-table-wrapper{overflow-x:auto;border-radius:var(--radius);border:1px solid hsl(var(--border) / .5);background-color:hsl(var(--card) / .5)}.pcm-table{width:100%;border-collapse:collapse;font-size:.75rem;table-layout:auto}.pcm-th{padding:0;border-bottom:1px solid hsl(var(--border) / .5);background-color:hsl(var(--muted) / .15);white-space:nowrap}.pcm-th-label-cell{text-align:left;min-width:100px;padding-left:.5rem}.pcm-th-combatant{text-align:center;min-width:80px}.pcm-th-combatant-player{border-bottom:2px solid hsl(200 80% 50% / .5)}.pcm-th-combatant-enemy{border-bottom:2px solid hsl(0 84% 60% / .5)}.pcm-th-combatant-highlighted{background-color:hsl(var(--primary) / .1)}.pcm-combatant-header{display:flex;align-items:center;justify-content:center;width:100%;padding:.4rem .5rem;font-size:.7rem;font-weight:600;color:hsl(var(--foreground));background:none;border:none;cursor:default;transition:background-color .15s ease;gap:.25rem}.pcm-table-clickable .pcm-combatant-header{cursor:pointer}.pcm-table-clickable .pcm-combatant-header:hover{background-color:hsl(var(--muted) / .2)}.pcm-combatant-name{overflow:hidden;text-overflow:ellipsis;max-width:120px}.pcm-th-combatant-player .pcm-combatant-name{color:#30abe8}.pcm-th-combatant-enemy .pcm-combatant-name{color:#dd3c3c}.pcm-sort-btn{display:flex;align-items:center;width:100%;padding:.4rem .5rem;font-size:inherit;font-weight:600;color:hsl(var(--muted-foreground));background:none;border:none;cursor:pointer;transition:color .15s ease,background-color .15s ease;gap:.25rem}.pcm-sort-btn:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted) / .15)}.pcm-sort-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px;border-radius:2px}.pcm-sort-btn-row{text-align:left}.pcm-th-content{display:flex;align-items:center;gap:.25rem}.pcm-th-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.03em}.pcm-sort-icon{flex-shrink:0;opacity:.4;margin-left:auto}.pcm-sort-active{opacity:1;color:hsl(var(--primary))}.pcm-row{transition:background-color .1s ease}.pcm-row:hover{background-color:hsl(var(--muted) / .1)}.pcm-td-label{padding:.35rem .5rem;font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap;background-color:hsl(var(--muted) / .08);border-right:1px solid hsl(var(--border) / .3)}.pcm-td{padding:.35rem .5rem;color:hsl(var(--foreground));font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;transition:background-color .1s ease}.pcm-td-value{text-align:center}.pcm-td-value-player{border-left:2px solid hsl(200 80% 50% / .2)}.pcm-td-value-enemy{border-left:2px solid hsl(0 84% 60% / .2)}.pcm-td-highlighted{background-color:hsl(var(--primary) / .1)}.pcm-top-performer{position:relative;font-weight:600}.pcm-top-performer:after{content:"";position:absolute;right:4px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background-color:#1cce5e;box-shadow:0 0 4px #1cce5e80}.pcm-row:not(:last-child) .pcm-td{border-bottom:1px solid hsl(var(--border) / .3)}@media (max-width: 640px){.pcm-table{font-size:.7rem}.pcm-th-label{font-size:.6rem}.pcm-td{padding:.3rem .35rem}}.br-recommendations{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.br-header{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.br-header-icon{color:hsl(var(--primary));flex-shrink:0}.br-header-title{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.03em}.br-header-hint{font-size:.6rem;color:hsl(var(--muted-foreground));margin-left:auto}.br-list{display:flex;flex-direction:column;gap:.35rem}.br-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid transparent;transition:border-color .15s ease}.br-item-actionable{background-color:hsl(var(--muted) / .08);border-color:hsl(var(--border) / .5)}.br-item-actionable:hover{border-color:hsl(var(--primary) / .3);background-color:hsl(var(--muted) / .12)}.br-item-info{padding-left:.6rem;border-left:2px solid hsl(var(--muted-foreground) / .2)}.br-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.br-item-description{font-size:.78rem;font-weight:500;color:hsl(var(--foreground));line-height:1.4}.br-item-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.br-item-impact{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;color:hsl(var(--muted-foreground))}.br-item-confidence{display:inline-flex;align-items:center;font-size:.65rem;font-weight:500;padding:.05rem .35rem;border-radius:999px}.br-confidence-high{color:#1cce5e;background-color:#16a2491a}.br-confidence-medium{color:#facc14;background-color:#facc141a}.br-confidence-low{color:#ef4343;background-color:#ef43431a}.br-apply-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.65rem;font-weight:600;color:hsl(var(--primary));background-color:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .2);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0;align-self:center}.br-apply-btn:hover{background-color:hsl(var(--primary) / .15);border-color:hsl(var(--primary) / .4);transform:translateY(-1px);box-shadow:0 2px 6px hsl(var(--primary) / .15)}.br-apply-btn:active{transform:translateY(0);box-shadow:none}.br-balanced-note{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:#1cce5e;padding:.35rem .5rem;background-color:#16a2490f;border-radius:var(--radius-sm);border:1px solid hsl(142 76% 36% / .15)}@media (max-width: 640px){.br-item{flex-direction:column;gap:.35rem}.br-apply-btn{align-self:flex-start}.br-header-hint{margin-left:0;width:100%}.br-item-meta{flex-direction:column;align-items:flex-start;gap:.15rem}}.dsc-container{margin-top:.35rem;border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--radius, .5rem) * .6);background-color:hsl(var(--background));overflow:hidden}.dsc-toggle{display:flex;align-items:center;gap:.3rem;width:100%;padding:.2rem .4rem;font-size:.68rem;font-weight:600;color:hsl(var(--primary));background:none;border:none;cursor:pointer;transition:background-color .15s ease}.dsc-toggle:hover{background-color:hsl(var(--muted) / .15)}.dsc-toggle-open{border-bottom:1px solid hsl(var(--border) / .4)}.dsc-toggle-label{flex:1;text-align:left}.dsc-content{padding:.4rem;display:flex;flex-direction:column;gap:.4rem}.dsc-selectors{display:flex;gap:.5rem;flex-wrap:wrap}.dsc-label{display:flex;flex-direction:column;gap:.15rem;font-size:.65rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.dsc-select{padding:.2rem .3rem;font-size:.7rem;color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);cursor:pointer}.dsc-stats{display:flex;flex-wrap:wrap;gap:.35rem .6rem;padding:.3rem 0;border-bottom:1px solid hsl(var(--border) / .3)}.dsc-stat{display:flex;flex-direction:column;gap:.05rem}.dsc-stat-label{font-size:.58rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.dsc-stat-value{font-size:.72rem;font-weight:600;color:hsl(var(--foreground));font-family:ui-monospace,monospace}.dsc-table-wrapper{overflow-x:auto;max-height:340px;overflow-y:auto}.dsc-table{width:100%;border-collapse:collapse;font-size:.68rem;font-family:ui-monospace,monospace}.dsc-table th{position:sticky;top:0;padding:.25rem .35rem;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .15);border-bottom:1px solid hsl(var(--border) / .3);white-space:nowrap;text-align:center}.dsc-table td{padding:.2rem .35rem;text-align:center;color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border) / .15);white-space:nowrap}.dsc-td-roll{font-weight:700;color:hsl(var(--muted-foreground))}.dsc-td-total{color:hsl(var(--muted-foreground))}.dsc-td-result{font-weight:600}.dsc-hit{color:#1cce5e}.dsc-miss{color:#ef4343b3}.dsc-td-damage{font-weight:600}.dsc-td-prob{color:hsl(var(--muted-foreground) / .7)}.dsc-row-crit{background-color:#facc141a}.dsc-row-crit .dsc-td-roll,.dsc-row-crit .dsc-td-damage{color:#facc14}.dsc-row-fumble{background-color:#ef43430f}.dsc-row-fumble .dsc-td-roll{color:#ef434399}.dsc-row-miss .dsc-td-damage{color:hsl(var(--muted-foreground) / .4)}.dsc-sim{display:flex;flex-direction:column;gap:.35rem}.dsc-sim-btn{align-self:flex-start;padding:.2rem .5rem;font-size:.65rem;font-weight:600;color:hsl(var(--foreground));background-color:hsl(var(--muted) / .2);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.dsc-sim-btn:hover{background-color:hsl(var(--muted) / .3);border-color:hsl(var(--border))}.dsc-sim-label{font-size:.58rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.dsc-sim-bar-chart{display:flex;flex-direction:column;gap:.1rem;max-height:200px;overflow-y:auto}.dsc-sim-bar-row{display:flex;align-items:center;gap:.3rem;font-size:.65rem;font-family:ui-monospace,monospace}.dsc-sim-bar-label{width:2.5rem;text-align:right;color:hsl(var(--muted-foreground));flex-shrink:0}.dsc-sim-bar-track{flex:1;height:12px;background-color:hsl(var(--muted) / .15);border-radius:2px;overflow:hidden}.dsc-sim-bar-fill{height:100%;min-width:1px;background-color:hsl(var(--primary) / .6);border-radius:2px;transition:width .2s ease}.dsc-sim-bar-pct{width:3rem;text-align:right;color:hsl(var(--muted-foreground) / .7);flex-shrink:0;font-size:.6rem}.dsc-sim-bar-row:first-child .dsc-sim-bar-fill{background-color:#ef434366}.bd-dashboard{display:flex;flex-direction:column;gap:1rem}.bd-top-section{width:100%}.bd-enemies-section{padding:.625rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card) / .5)}.bd-enemies-header{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.bd-enemies-list{display:flex;flex-wrap:wrap;gap:.5rem}.bd-enemy-card{flex:1 1 200px;padding:.4rem .6rem;border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--radius, .5rem) * .6);background-color:hsl(var(--background))}.bd-enemy-name{font-size:.8rem;font-weight:600;color:hsl(var(--foreground));display:flex;align-items:center;gap:.4rem}.bd-enemy-cr,.bd-enemy-level{font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground))}.bd-enemy-lock-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:.15rem;border:1px solid hsl(var(--border) / .6);border-radius:4px;background:none;color:hsl(var(--muted-foreground));cursor:pointer;opacity:.4;transition:all .15s ease}.bd-enemy-lock-btn:hover{opacity:1;color:hsl(var(--primary));border-color:hsl(var(--primary))}.bd-enemy-lock-btn-active{opacity:1;color:hsl(var(--primary));border-color:hsl(var(--primary));background-color:hsl(var(--primary) / .1)}.bd-enemy-card-locked{border-color:hsl(var(--primary) / .5)}.bd-enemies-spectrum .bd-enemies-header{display:flex;align-items:center;gap:.4rem}.bd-spectrum-summary{font-size:.7rem;color:hsl(var(--muted-foreground));margin-top:.3rem}.bd-spectrum-sep{margin:0 .3rem;opacity:.4}.bd-spectrum-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem;margin-top:.5rem}.bd-spectrum-slot{padding:.4rem .6rem;border:1px solid hsl(var(--border) / .6);border-radius:calc(var(--radius, .5rem) * .6);background-color:hsl(var(--background))}.bd-spectrum-slot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.bd-spectrum-slot-name{font-size:.8rem;font-weight:600;color:hsl(var(--foreground))}.bd-spectrum-slot-count{font-size:.68rem;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground))}.bd-spectrum-slot-stats{display:flex;flex-direction:column;gap:.15rem}.bd-spectrum-row{display:flex;align-items:center;gap:.4rem;font-size:.72rem}.bd-spectrum-label{color:hsl(var(--muted-foreground));white-space:nowrap;min-width:60px}.bd-spectrum-value{color:hsl(var(--foreground));font-family:ui-monospace,monospace;font-weight:500;font-size:.7rem}.bd-enemy-stats{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem;font-size:.72rem;color:hsl(var(--muted-foreground))}.bd-enemy-stats span{white-space:nowrap}.bd-enemy-spells{font-size:.68rem;color:hsl(var(--muted-foreground) / .7);margin-top:.15rem;font-style:italic}@media (max-width: 640px){.bd-enemies-list{flex-direction:column}}.bd-chart-full{width:100%}.bd-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.bd-chart-column{display:flex;flex-direction:column;gap:1rem;min-width:0}@media (max-width: 900px){.bd-charts-grid{grid-template-columns:1fr}}@media (max-width: 640px){.bd-dashboard,.bd-charts-grid{gap:.75rem}}.bsi-container{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem .25rem .25rem}.bsi-gauge-wrapper{position:relative;width:100%;max-width:180px;aspect-ratio:120 / 85}.bsi-gauge{width:100%;height:100%;display:block}.bsi-gauge-bg{stroke:hsl(var(--muted) / .4)}.bsi-gauge-fill{transition:d .4s ease,stroke .3s ease}.bsi-needle{transition:all .4s ease;filter:drop-shadow(0 1px 2px hsl(var(--foreground) / .2))}.bsi-tick-line{stroke:hsl(var(--muted-foreground) / .3);stroke-width:1}.bsi-tick-label{fill:hsl(var(--muted-foreground));font-size:5.5px;font-weight:500}.bsi-score-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;line-height:1}.bsi-score-value{font-size:1.75rem;font-weight:800;color:var(--bsi-score-color, hsl(var(--foreground)));line-height:1.1}.bsi-score-max{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));margin-top:.05rem}.bsi-score-label{font-size:.6rem;font-weight:600;color:var(--bsi-score-color, hsl(var(--muted-foreground)));text-transform:uppercase;letter-spacing:.04em;opacity:.85}.bsi-info-row{display:flex;align-items:center;gap:.4rem;position:relative}.bsi-variance-badge{font-size:.6rem;font-weight:600;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.bsi-variance-badge[data-variance=balanced]{color:#1cce5e;background-color:#16a2491a;border:1px solid hsl(142 76% 36% / .2)}.bsi-variance-badge[data-variance=underpowered]{color:#facc14;background-color:#facc141a;border:1px solid hsl(48 96% 53% / .2)}.bsi-variance-badge[data-variance=overpowered]{color:#ef4343;background-color:#ef43431a;border:1px solid hsl(0 84% 60% / .2)}.bsi-info-btn{display:inline-flex;align-items:center;justify-content:center;padding:.15rem;color:hsl(var(--muted-foreground));background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color .15s ease}.bsi-info-btn:hover{color:hsl(var(--foreground))}.bsi-info-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.bsi-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:260px;padding:.6rem .75rem;font-size:.7rem;line-height:1.5;color:hsl(var(--foreground));background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 16px hsl(var(--foreground) / .08);z-index:10;pointer-events:none;animation:bsi-tooltip-in .15s ease}.bsi-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:hsl(var(--border))}@keyframes bsi-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 640px){.bsi-gauge-wrapper{max-width:150px}.bsi-score-value{font-size:1.4rem}.bsi-score-max{font-size:.6rem}.bsi-score-label{font-size:.55rem}.bsi-tooltip{width:220px;font-size:.65rem}}.evp-container{display:flex;flex-direction:column;gap:.5rem}.evp-panel-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .5rem;border:none;border-radius:var(--radius-sm);background-color:hsl(var(--card) / .5);color:hsl(var(--foreground));cursor:pointer;transition:background-color .15s ease}.evp-panel-header:hover{background-color:hsl(var(--card) / .8)}.evp-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.evp-panel-title-row{display:flex;align-items:center;gap:.4rem}.evp-panel-icon{color:hsl(var(--primary));flex-shrink:0}.evp-panel-title{font-size:.8rem;font-weight:700;color:hsl(var(--foreground))}.evp-panel-toggle{color:hsl(var(--muted-foreground));flex-shrink:0}.evp-badge{font-size:.6rem;font-weight:600;padding:.05rem .35rem;border-radius:999px}.evp-badge-ok{background-color:#1cce5e26;color:#1cce5e}.evp-badge-warning{background-color:#facc1426;color:#facc14}.evp-content{display:flex;flex-direction:column;gap:.75rem;padding:0 .25rem}.evp-gauge-section{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 0}.evp-difficulty-text{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:hsl(var(--muted-foreground))}.evp-difficulty-actual{font-weight:600;text-transform:capitalize;color:hsl(var(--foreground))}.evp-difficulty-intended{font-size:.75rem;opacity:.7}.evp-table-wrapper{overflow-x:auto;border:1px solid hsl(var(--border));border-radius:var(--radius)}.evp-table{width:100%;border-collapse:collapse;font-size:.75rem}.evp-table thead{background-color:hsl(var(--muted) / .3)}.evp-table th{padding:.4rem .6rem;text-align:left;font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));white-space:nowrap}.evp-th-metric{width:25%}.evp-th-value{width:18%}.evp-th-delta{width:28%}.evp-th-status{width:18%}.evp-table td{padding:.35rem .6rem;border-bottom:1px solid hsl(var(--border) / .5);color:hsl(var(--foreground));vertical-align:middle}.evp-table tbody tr:last-child td{border-bottom:none}.evp-table tbody tr{transition:background-color .1s ease}.evp-table tbody tr:hover{background-color:hsl(var(--muted) / .1)}.evp-td-metric{font-weight:600;color:hsl(var(--foreground))}.evp-td-value{font-variant-numeric:tabular-nums;color:hsl(var(--foreground));font-weight:500}.evp-td-delta{font-variant-numeric:tabular-nums;font-weight:600;display:flex;align-items:center;gap:.25rem}.evp-delta-icon{flex-shrink:0;display:inline-flex}.evp-delta-good{color:#1cce5e}.evp-delta-warning{color:#facc14}.evp-delta-error{color:#ef4343}.evp-row-good td:first-child{box-shadow:inset 3px 0 #1cce5e}.evp-row-warning td:first-child{box-shadow:inset 3px 0 #facc14}.evp-row-error td:first-child{box-shadow:inset 3px 0 #ef4343}.evp-td-status{text-align:center}.evp-status-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:600;white-space:nowrap}.evp-status-ok{color:#1cce5e;background-color:#1cce5e1a}.evp-status-warn{color:#facc14;background-color:#facc141a}.evp-status-error{color:#ef4343;background-color:#ef43431a}.evp-suggestions{display:flex;flex-direction:column;gap:.4rem}.evp-suggestions-header{display:flex;align-items:center;gap:.35rem;padding-bottom:.25rem;border-bottom:1px solid hsl(var(--border) / .5)}.evp-suggestions-header-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.evp-suggestions-title{font-size:.72rem;font-weight:700;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.03em}.evp-suggestions-count{font-size:.6rem;font-weight:700;padding:.05rem .3rem;border-radius:999px;background-color:hsl(var(--muted) / .15);color:hsl(var(--muted-foreground))}.evp-suggestion-list{display:flex;flex-direction:column;gap:.35rem}.evp-suggestion{padding:.5rem .6rem;border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .5);background-color:hsl(var(--card) / .4);display:flex;flex-direction:column;gap:.35rem}.evp-suggestion-info{border-left:3px solid hsl(200 80% 55%)}.evp-suggestion-warning{border-left:3px solid hsl(48 96% 53%);background-color:#facc140a}.evp-suggestion-error{border-left:3px solid hsl(0 84% 60%);background-color:#ef43430a}.evp-suggestion-top{display:flex;align-items:flex-start;gap:.35rem}.evp-suggestion-icon{flex-shrink:0;margin-top:.1rem}.evp-suggestion-icon-info{color:#30abe8}.evp-suggestion-icon-warning{color:#facc14}.evp-suggestion-icon-error{color:#ef4343}.evp-suggestion-message{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));line-height:1.4}.evp-suggestion-details{display:flex;flex-direction:column;gap:.25rem;padding-left:.25rem}.evp-suggestion-ref{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:hsl(var(--muted-foreground));flex-wrap:wrap}.evp-suggestion-ref-icon{flex-shrink:0;color:hsl(var(--muted-foreground) / .7)}.evp-suggestion-ref-text{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.65rem;color:hsl(var(--muted-foreground));word-break:break-all}.evp-suggestion-func{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.65rem;color:hsl(var(--muted-foreground) / .7);font-style:italic}.evp-suggestion-fix{font-size:.72rem;line-height:1.45;color:hsl(var(--muted-foreground))}.evp-suggestion-fix-label{font-weight:700;color:hsl(var(--foreground) / .8)}.evp-suggestion-fix-text{color:hsl(var(--muted-foreground) / .9)}.evp-all-good-note{font-size:.72rem;color:#1cce5e;padding:.4rem .6rem;background-color:#1cce5e0f;border-radius:var(--radius-sm);border:1px solid hsl(142 76% 46% / .15);text-align:center}.evp-no-estimate{display:flex;flex-direction:column;gap:.3rem;padding:.6rem .75rem;border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);background-color:hsl(var(--card) / .4)}.evp-no-estimate-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.evp-no-estimate-text{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground))}.evp-no-estimate-hint{font-size:.7rem;color:hsl(var(--muted-foreground) / .7);line-height:1.45}@media (max-width: 640px){.evp-table{font-size:.7rem}.evp-table th,.evp-table td{padding:.3rem .4rem}.evp-th-metric{width:22%}.evp-th-delta{width:30%}.evp-suggestion{padding:.4rem .5rem}.evp-suggestion-ref{flex-direction:column;align-items:flex-start;gap:.15rem}}.slv-container{display:flex;flex-direction:column;gap:.5rem}.slv-panel-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.4rem .5rem;border:none;border-radius:var(--radius-sm);background-color:hsl(var(--card) / .5);color:hsl(var(--foreground));cursor:pointer;transition:background-color .15s ease}.slv-panel-header:hover{background-color:hsl(var(--card) / .8)}.slv-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.slv-panel-title-row{display:flex;align-items:center;gap:.4rem}.slv-panel-icon{color:hsl(var(--primary));flex-shrink:0}.slv-panel-title{font-size:.8rem;font-weight:700;color:hsl(var(--foreground))}.slv-panel-toggle{color:hsl(var(--muted-foreground));flex-shrink:0}.slv-count-badge{font-size:.6rem;font-weight:600;padding:.05rem .35rem;border-radius:999px;background-color:hsl(var(--primary) / .15);color:hsl(var(--primary))}.slv-filter-badge{font-size:.6rem;font-weight:600;padding:.05rem .35rem;border-radius:999px;background-color:#42d7c826;color:#42d7c8}.slv-content{display:flex;flex-direction:column;gap:.5rem}.slv-filter-bar{display:flex;align-items:center;justify-content:space-between;padding:.35rem .6rem;border-radius:var(--radius-sm);background-color:#42d7c814;border:1px solid hsl(174 65% 55% / .2)}.slv-filter-label{font-size:.7rem;font-weight:600;color:#6ce0d4}.slv-filter-clear{display:flex;align-items:center;gap:.25rem;padding:.15rem .4rem;font-size:.65rem;font-weight:600;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:color .15s ease,background-color .15s ease}.slv-filter-clear:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted) / .5)}.slv-filter-clear:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.slv-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:1.5rem 1rem;background-color:hsl(var(--card) / .3);border-radius:var(--radius);border:1px dashed hsl(var(--border) / .5)}.slv-empty-icon{color:hsl(var(--muted-foreground) / .5);margin-bottom:.25rem}.slv-empty-text{font-size:.75rem;font-weight:600;color:hsl(var(--muted-foreground))}.slv-empty-hint{font-size:.65rem;color:hsl(var(--muted-foreground) / .7);text-align:center;max-width:20rem;line-height:1.4}.slv-run-selector{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background-color:hsl(var(--card) / .5);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .3);flex-wrap:wrap}.slv-run-label{display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap}.slv-run-select{flex:1;min-width:10rem;padding:.25rem .35rem;font-size:.7rem;color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);cursor:pointer}.slv-run-select:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-1px}.slv-run-seed{font-size:.6rem;color:hsl(var(--muted-foreground) / .6);font-family:monospace;white-space:nowrap}.slv-vrun-container{flex:1;min-width:10rem;position:relative}.slv-vrun-trigger{display:flex;align-items:center;width:100%;padding:.25rem .35rem;font-size:.7rem;color:hsl(var(--foreground));background-color:hsl(var(--background));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-sm);cursor:pointer;gap:.25rem;text-align:left}.slv-vrun-trigger:hover{border-color:hsl(var(--border))}.slv-vrun-trigger:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-1px}.slv-vrun-trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slv-vrun-chevron{flex-shrink:0;color:hsl(var(--muted-foreground));transition:transform .15s ease}.slv-vrun-chevron-open{transform:rotate(180deg)}.slv-vrun-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 4px 12px #00000026;overflow:hidden;display:flex;flex-direction:column}.slv-vrun-search{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border-bottom:1px solid hsl(var(--border) / .5);color:hsl(var(--muted-foreground))}.slv-vrun-search-input{flex:1;font-size:.7rem;color:hsl(var(--foreground));background:none;border:none;outline:none}.slv-vrun-search-input::-moz-placeholder{color:hsl(var(--muted-foreground) / .5)}.slv-vrun-search-input::placeholder{color:hsl(var(--muted-foreground) / .5)}.slv-vrun-list{overflow-y:auto!important;overflow-x:hidden!important}.slv-vrun-option{padding:.2rem .5rem;font-size:.7rem;color:hsl(var(--foreground));cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid hsl(var(--border) / .2)}.slv-vrun-option:hover{background-color:hsl(var(--muted) / .2)}.slv-vrun-option-selected{background-color:hsl(var(--primary) / .12);color:hsl(var(--primary));font-weight:600}.slv-vrun-empty{padding:1rem .5rem;font-size:.7rem;color:hsl(var(--muted-foreground));text-align:center}.slv-vrun-footer{padding:.25rem .5rem;font-size:.6rem;color:hsl(var(--muted-foreground) / .7);border-top:1px solid hsl(var(--border) / .3);text-align:center}.slv-run-summary{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background-color:hsl(var(--card) / .5);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .3);flex-wrap:wrap}.slv-summary-item{display:flex;align-items:center;gap:.2rem;font-size:.65rem;color:hsl(var(--muted-foreground));white-space:nowrap}.slv-summary-item svg{flex-shrink:0}.slv-summary-player{color:#19a1e6;font-weight:600}.slv-summary-enemy{color:#ef4343;font-weight:600}.slv-summary-draw{color:#e7b008;font-weight:600}.slv-metrics-toggle{display:flex;align-items:center;gap:.3rem;padding:.3rem .5rem;font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border) / .3);border-radius:var(--radius-sm);cursor:pointer;transition:color .15s ease,background-color .15s ease;width:-moz-fit-content;width:fit-content}.slv-metrics-toggle:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted) / .15)}.slv-metrics-toggle:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-1px}.slv-metrics-section{display:flex;flex-direction:column;gap:.25rem}.slv-metrics-header{display:flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;color:hsl(var(--muted-foreground));padding:.1rem 0}.slv-metrics-table-wrapper{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .3);background-color:hsl(var(--card) / .3)}.slv-metrics-table{width:100%;border-collapse:collapse;font-size:.65rem}.slv-metrics-table th{padding:.3rem .4rem;text-align:left;font-weight:600;font-size:.6rem;text-transform:uppercase;letter-spacing:.03em;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .15);border-bottom:1px solid hsl(var(--border) / .5);white-space:nowrap}.slv-metrics-table th:not(:first-child){text-align:right}.slv-metrics-row{transition:background-color .1s ease}.slv-metrics-row:hover{background-color:hsl(var(--muted) / .1)}.slv-metrics-row-player{border-left:2px solid hsl(200 80% 50% / .4)}.slv-metrics-row-enemy{border-left:2px solid hsl(0 84% 60% / .4)}.slv-metrics-table td{padding:.25rem .4rem;color:hsl(var(--foreground));font-variant-numeric:tabular-nums;white-space:nowrap;border-bottom:1px solid hsl(var(--border) / .2)}.slv-metrics-table td:not(:first-child){text-align:right}.slv-metrics-name{font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis}.slv-metrics-name-player{color:#30abe8}.slv-metrics-name-enemy{color:#dd3c3c}.slv-metrics-side{color:hsl(var(--muted-foreground))}.slv-metrics-dpr{font-weight:600}.slv-metrics-damage{color:hsl(var(--foreground))}.slv-metrics-damage-taken{color:#fa7f14d9}.slv-metrics-healing,.slv-metrics-hits{color:#1cce5e}.slv-metrics-misses{color:#ef4343}.slv-survived-yes{color:#1cce5e;font-weight:600}.slv-survived-no{color:#ef4343;font-weight:500}.slv-metrics-actions{text-align:left!important}.slv-action-badge{display:inline-block;font-size:.55rem;padding:.05rem .25rem;border-radius:999px;background-color:hsl(var(--muted) / .2);color:hsl(var(--muted-foreground));margin:.05rem;white-space:nowrap}.slv-log-section{display:flex;flex-direction:column;gap:.35rem}.slv-log-header{display:flex;align-items:center;justify-content:space-between}.slv-log-title{font-size:.7rem;font-weight:700;color:hsl(var(--foreground))}.slv-log-count{font-size:.6rem;color:hsl(var(--muted-foreground))}.slv-log-container{background-color:hsl(var(--muted) / .3);border-radius:var(--radius);padding:.5rem;max-height:24rem;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;scroll-behavior:smooth}.slv-log-container::-webkit-scrollbar{width:6px}.slv-log-container::-webkit-scrollbar-track{background:transparent}.slv-log-container::-webkit-scrollbar-thumb{background-color:hsl(var(--border) / .5);border-radius:3px}.slv-log-container::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--border) / .8)}.slv-round-group{display:flex;flex-direction:column;gap:.15rem}.slv-round-group:not(:first-child){margin-top:.25rem;padding-top:.25rem;border-top:1px solid hsl(var(--border) / .3)}.slv-round-header{display:flex;align-items:center;justify-content:space-between;padding:.15rem .35rem;background-color:hsl(var(--muted) / .15);border-radius:var(--radius-sm);position:sticky;top:0;z-index:1}.slv-round-number{font-size:.6rem;font-weight:700;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.slv-round-actions{font-size:.55rem;color:hsl(var(--muted-foreground) / .6)}.slv-entry{font-size:.65rem;border-left-width:3px;border-left-style:solid;background-color:hsl(var(--background) / .8);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.3rem .5rem;display:flex;flex-direction:column;gap:.15rem}.slv-entry-hit{border-left-color:#1cce5e}.slv-entry-critical{border-left-color:#facc14}.slv-entry-miss{border-left-color:#ef4343}.slv-entry-spell{border-left-color:#7c3bed}.slv-entry-legendary{border-left-color:#fa7f14}.slv-entry-dodge{border-left-color:#19a1e6}.slv-entry-dash{border-left-color:#19a1e680}.slv-entry-disengage{border-left-color:#19a1e64d}.slv-entry-flee{border-left-color:#ef434380}.slv-entry-item{border-left-color:#1cce5e99}.slv-entry-status{border-left-color:hsl(var(--muted-foreground) / .4)}.slv-entry-neutral{border-left-color:hsl(var(--border))}.slv-entry-meta{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.slv-entry-actor{font-weight:600}.slv-entry-actor-player{color:#30abe8}.slv-entry-actor-enemy{color:#dd3c3c}.slv-entry-action,.slv-entry-target{color:hsl(var(--muted-foreground))}.slv-entry-target-name{font-weight:600}.slv-entry-target-name-player{color:#30abe8}.slv-entry-target-name-enemy{color:#dd3c3c}.slv-entry-details{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-left:.25rem}.slv-detail{display:inline-flex;align-items:center;gap:.15rem;font-size:.6rem;white-space:nowrap}.slv-detail-label{color:hsl(var(--muted-foreground));font-weight:500}.slv-detail-hit{color:#1cce5e;font-weight:600}.slv-detail-miss{color:#ef4343;font-weight:600}.slv-detail-crit{color:#facc14;font-weight:700;margin-left:.15rem;animation:slv-crit-pulse 1s ease-in-out}@keyframes slv-crit-pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.slv-detail-damage,.slv-detail-low-hp{color:#ef4343;font-weight:600}.slv-detail-spell{color:#7c3bed;font-weight:600;font-style:italic}.slv-detail-legendary{color:#fa7f14;font-weight:600}.slv-detail-desc{color:hsl(var(--muted-foreground) / .8);font-style:italic}@media (max-width: 640px){.slv-run-selector{flex-direction:column;align-items:flex-start}.slv-vrun-container{width:100%}.slv-run-summary{flex-direction:column;align-items:flex-start}.slv-metrics-table{font-size:.6rem}.slv-metrics-table th,.slv-metrics-table td{padding:.2rem .3rem}.slv-log-container{max-height:18rem}.slv-entry{font-size:.6rem;padding:.25rem .35rem}}.bls-shimmer{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--muted) / .4),hsl(var(--muted)));background-size:200% 100%;animation:bls-skeleton-shimmer 1.5s infinite;border-radius:.25rem}@keyframes bls-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.bls-dashboard-skeleton{display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.bls-win-rate-skeleton{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.bls-win-rate-value{width:100px;height:2rem}.bls-win-rate-label{width:90px;height:.625rem}.bls-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.bls-metric-skeleton{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;background-color:hsl(var(--muted) / .08);border-radius:var(--radius-sm);border:1px solid hsl(var(--border) / .4)}.bls-metric-icon{width:.875rem;height:.875rem;border-radius:.125rem}.bls-metric-value{width:36px;height:1rem}.bls-metric-label{width:52px;height:.5rem}.bls-chart-skeleton{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.bls-chart-skeleton-header{display:flex;align-items:center;gap:.5rem}.bls-chart-title{width:120px;height:.875rem}.bls-chart-subtitle{width:80px;height:.625rem}.bls-chart-area{width:100%;height:180px;border-radius:.375rem}.bls-chart-area-sm{height:140px}.bls-chart-full{width:100%}.bls-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.bls-history-skeleton{display:flex;flex-direction:column;gap:.375rem}.bls-history-item-skeleton{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card))}.bls-history-badge{width:56px;height:1.75rem;border-radius:var(--radius-sm);flex-shrink:0}.bls-history-item-info{flex:1;display:flex;flex-direction:column;gap:.3rem;min-width:0}.bls-history-title{width:60%;height:.8125rem}.bls-history-meta{width:40%;height:.625rem}.bls-history-action{width:1.5rem;height:1.5rem;border-radius:.25rem;flex-shrink:0}@media (max-width: 900px){.bls-chart-grid{grid-template-columns:1fr}}@media (max-width: 640px){.bls-metrics-grid{grid-template-columns:repeat(2,1fr)}.bls-chart-area{height:140px}.bls-chart-area-sm{height:100px}.bls-dashboard-skeleton{gap:.5rem}}.balance-lab-tab{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;height:100%;overflow-y:auto}.balance-lab-tab::-webkit-scrollbar{width:6px}.balance-lab-tab::-webkit-scrollbar-track{background:transparent}.balance-lab-tab::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .2);border-radius:3px}.balance-lab-tab::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .4)}.bl-header{display:flex;flex-direction:column;gap:.25rem}.bl-header-title-row{display:flex;align-items:center;gap:.5rem}.bl-header-icon{color:hsl(var(--primary));flex-shrink:0}.bl-header-title{font-size:1.25rem;font-weight:700;color:hsl(var(--foreground));margin:0}.bl-header-subtitle{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0;padding-left:1.75rem;display:flex;align-items:center;gap:.5rem}.bl-shortcut-hint{display:inline-flex;align-items:center;padding:.1rem .4rem;border:1px solid hsl(var(--border));border-radius:3px;background:hsl(var(--muted) / .3);color:hsl(var(--muted-foreground));font-family:inherit;font-size:.65rem;font-weight:500;letter-spacing:.02em;line-height:1.2;white-space:nowrap;flex-shrink:0}.bl-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.bl-left-column{display:flex;flex-direction:column;gap:1rem;min-width:0}.bl-panel{display:flex;flex-direction:column;background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));overflow:hidden;transition:all .2s ease}.bl-panel:hover{border-color:hsl(var(--border) / 1.2)}.bl-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:inherit;font:inherit;background:none;border:none;width:100%;text-align:left}.bl-panel-header:hover{background-color:hsl(var(--muted) / .2)}.bl-panel-header:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.bl-panel-title-row{display:flex;align-items:center;gap:.5rem}.bl-panel-icon{color:hsl(var(--primary));flex-shrink:0}.bl-panel-title{font-size:.9rem;font-weight:600;color:hsl(var(--foreground));margin:0}.bl-panel-toggle{color:hsl(var(--muted-foreground));display:flex;align-items:center}.bl-panel-content{padding:0 .75rem .75rem}.bl-status-badge{font-size:.65rem;font-weight:600;padding:.1rem .4rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.bl-status-running{color:hsl(var(--primary));background-color:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .2);animation:bl-pulse 2s ease-in-out infinite}@keyframes bl-pulse{0%,to{opacity:1}50%{opacity:.6}}.bl-status-completed{color:#1cce5e;background-color:#16a2491a;border:1px solid hsl(142 76% 36% / .2)}.bl-status-cancelled{color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border) / .5)}.bl-status-error{color:#ef4343;background-color:#ef43431a;border:1px solid hsl(0 84% 60% / .2)}.bl-count-badge{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));background-color:hsl(var(--muted) / .3);padding:.1rem .4rem;border-radius:999px}.bl-config-panel,.bl-results-panel{min-height:-moz-fit-content;min-height:fit-content}.bl-progress-section{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:hsl(var(--primary) / .04);border:1px solid hsl(var(--primary) / .1);border-radius:var(--radius)}.bl-progress-bar{width:100%;height:6px;background-color:hsl(var(--muted) / .3);border-radius:3px;overflow:hidden}.bl-progress-fill{height:100%;background-color:hsl(var(--primary));border-radius:3px;transition:width .3s ease;min-width:0}.bl-progress-info{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.bl-progress-label{font-weight:600;color:hsl(var(--foreground))}.bl-progress-eta{display:inline-flex;align-items:center;gap:.25rem}.bl-progress-cancel{margin-left:auto;padding:.2rem .5rem;font-size:.7rem;font-weight:500;color:hsl(var(--muted-foreground));background:none;border:1px solid hsl(var(--border));border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.bl-progress-cancel:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.bl-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.8rem;color:hsl(var(--destructive));background-color:hsl(var(--destructive) / .08);border-radius:var(--radius);border:1px solid hsl(var(--destructive) / .15)}.bl-error-icon{flex-shrink:0}.bl-error-text{line-height:1.4}.bl-cache-indicator{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:hsl(var(--primary) / .06);border:1px solid hsl(var(--primary) / .15);border-radius:6px;margin-bottom:.75rem}.bl-cache-icon{color:hsl(var(--primary));flex-shrink:0}.bl-cache-text{font-size:.75rem;color:hsl(var(--primary) / .8);font-weight:500}.bl-results-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;text-align:center}.bl-placeholder-icon{color:hsl(var(--muted-foreground) / .3)}.bl-placeholder-text{font-size:.9rem;font-weight:500;color:hsl(var(--muted-foreground));margin:0}.bl-placeholder-hint{font-size:.75rem;color:hsl(var(--muted-foreground) / .7);margin:0;max-width:320px;line-height:1.4}.bl-guide-steps{width:100%;max-width:400px;margin-top:.75rem;padding:.75rem;background-color:hsl(var(--muted) / .1);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);text-align:left}.bl-guide-heading{font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.bl-guide-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.bl-guide-step{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.45}.bl-guide-step strong{color:hsl(var(--foreground));font-weight:600}.bl-guide-presets{width:100%;max-width:400px;margin-top:.25rem;padding:.75rem;background-color:hsl(var(--muted) / .1);border:1px solid hsl(var(--border) / .5);border-radius:var(--radius);text-align:left}.bl-guide-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.bl-guide-preset{display:flex;flex-direction:column;gap:.15rem;padding:.4rem .5rem;background-color:hsl(var(--card) / .5);border:1px solid hsl(var(--border) / .4);border-radius:var(--radius-sm)}.bl-guide-preset-label{font-size:.7rem;font-weight:600;color:hsl(var(--primary))}.bl-guide-preset-desc{font-size:.65rem;color:hsl(var(--muted-foreground));line-height:1.35}.bl-history-panel{min-height:-moz-fit-content;min-height:fit-content}.bl-history-content{padding:0 .75rem .75rem}@media (max-width: 900px){.bl-layout{grid-template-columns:1fr}}@media (max-width: 767px){.balance-lab-tab{padding:.75rem;gap:.75rem}.bl-header-title{font-size:1.1rem}.bl-header-subtitle{padding-left:1.5rem;font-size:.75rem}.bl-shortcut-hint{display:none}.bl-panel-header{padding:.625rem .75rem}.bl-panel-content{padding:0 .5rem .5rem}.bl-progress-section{padding:.5rem}.bl-history-content{padding:0 .5rem .5rem}.bl-guide-preset-grid{grid-template-columns:1fr}.bl-guide-steps,.bl-guide-presets{padding:.5rem}.bl-results-empty{padding:1rem .5rem}.bl-layout,.bl-left-column,.bl-panel,.bl-progress-info,.bl-cache-indicator{width:100%;min-width:0;overflow:hidden}.bl-panel-title{font-size:.8rem}.bl-status-badge,.bl-count-badge{font-size:.5625rem}.bl-progress-label,.bl-progress-eta,.bl-error-text,.bl-cache-text{font-size:.6875rem}.bl-placeholder-text{font-size:.8rem}.bl-placeholder-hint,.bl-guide-heading,.bl-guide-step{font-size:.6875rem}.bl-guide-preset-label{font-size:.625rem}.bl-guide-preset-desc{font-size:.5625rem}.bl-progress-section,.bl-panel-header,.bl-panel-title-row{gap:.4rem}}@media (max-width: 640px){.balance-lab-tab{padding:.75rem;gap:.75rem}.bl-header-title{font-size:1.1rem}.bl-header-subtitle{padding-left:1.5rem;font-size:.75rem}.bl-shortcut-hint{display:none}.bl-panel-header{padding:.625rem .75rem}.bl-panel-content{padding:0 .5rem .5rem}.bl-progress-section{padding:.5rem}.bl-history-content{padding:0 .5rem .5rem}.bl-guide-preset-grid{grid-template-columns:1fr}.bl-guide-steps,.bl-guide-presets{padding:.5rem}.bl-results-empty{padding:1rem .5rem}}.enchantment-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:enchantmentOverlayFadeIn .3s ease-out}@keyframes enchantmentOverlayFadeIn{0%{opacity:0}to{opacity:1}}.enchantment-modal-container{position:relative;width:100%;max-width:42rem;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#221b32,#1f122b);border:2px solid hsl(260 60% 50% / .5);border-radius:1rem;box-shadow:0 0 0 1px #7e47eb33,0 25px 50px -12px #00000080,0 0 100px -20px #7e47eb4d;animation:enchantmentModalSlideIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes enchantmentModalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (min-width: 640px){.enchantment-modal-container{max-width:48rem}}.enchantment-modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,#33196680,#33145280);border-bottom:1px solid hsl(260 60% 40% / .3)}.enchantment-modal-header-left{display:flex;align-items:center;gap:.75rem}.enchantment-modal-item-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#6226d9,#661fad);border-radius:.5rem;color:#fff}.enchantment-modal-header-text{display:flex;flex-direction:column;gap:.125rem}.enchantment-modal-title{font-size:1.125rem;font-weight:700;margin:0;color:#f1f0f5;letter-spacing:.02em}.enchantment-modal-item-name{font-size:.875rem;color:#ada3c2}.enchantment-modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:#ada3c2;cursor:pointer;transition:background-color .2s ease,color .2s ease}.enchantment-modal-close-btn:hover{background:#0003;color:#e4e0eb}.enchantment-modal-close-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #7e47eb80}.enchantment-modal-tabs{display:flex;gap:.5rem;padding:.75rem 1.5rem;background:#241f2e;border-bottom:1px solid hsl(260 60% 40% / .3)}.enchantment-modal-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#2b2537;border:1px solid hsl(260 50% 35% / .4);border-radius:.5rem;color:#ada3c2;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.enchantment-modal-tab:hover:not(:disabled){background:#342d43;border-color:#6039ac80;color:#e4e0eb}.enchantment-modal-tab:disabled{opacity:.5;cursor:not-allowed}.enchantment-modal-tab-active{background:linear-gradient(135deg,#5822c3,#661fad);border-color:#713cdd;color:#fff}.enchantment-modal-tab-active:hover{background:linear-gradient(135deg,#6226d9,#7322c3)}.enchantment-modal-tab-badge{padding:.125rem .375rem;background:#d926264d;border-radius:.25rem;font-size:.6875rem;font-weight:600;color:#f0a8a8}.enchantment-modal-content{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.enchantment-modal-content::-webkit-scrollbar{width:6px}.enchantment-modal-content::-webkit-scrollbar-track{background:#221b32;border-radius:3px}.enchantment-modal-content::-webkit-scrollbar-thumb{background:#5229a3;border-radius:3px}.enchantment-modal-content::-webkit-scrollbar-thumb:hover{background:#63c}.enchantment-info-text{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#13406c33;border:1px solid hsl(210 70% 40% / .3);border-radius:.5rem;font-size:.8125rem;color:#a8ccf0}.enchantment-info-text svg{flex-shrink:0;color:#5299e0}.enchantment-warning-text{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#6c131333;border:1px solid hsl(0 70% 40% / .3);border-radius:.5rem;font-size:.8125rem;color:#f0a8a8}.enchantment-warning-text svg{flex-shrink:0;color:#e05252}.enchantment-list{display:flex;flex-direction:column;gap:1rem}.enchantment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.enchantment-card{display:flex;flex-direction:column;gap:.5rem;padding:.875rem;background:#2b2537;border:1px solid hsl(260 50% 35% / .4);border-radius:.75rem;transition:all .2s ease}.enchantment-card:hover{border-color:#6a40bf99;background:#342d43;transform:translateY(-2px)}.enchantment-card-header{display:flex;align-items:center;gap:.5rem}.enchantment-card-icon{font-size:1.25rem}.enchantment-card-name{flex:1;font-size:.9375rem;font-weight:600;color:#f1f0f5}.enchantment-card-applied-badge{padding:.125rem .375rem;background:#248f244d;border-radius:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#85e085}.enchantment-card-locks-badge{font-size:.875rem}.enchantment-card-description{margin:0;font-size:.75rem;color:#ada3c2;line-height:1.4}.enchantment-card-warning{margin:0;padding:.375rem;background:#6c131333;border-radius:.25rem;font-size:.6875rem;color:#f0a8a8;font-style:italic}.enchantment-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem}.enchantment-card-rarity{padding:.125rem .5rem;border-radius:.25rem;font-size:.6875rem;font-weight:600;text-transform:capitalize}.enchantment-rarity-common{background:#4d4d4d4d;color:#b3b3b3}.enchantment-rarity-uncommon{background:#1966194d;color:#85e085}.enchantment-rarity-rare{background:#0f4d8a4d;color:#8cbff2}.enchantment-rarity-very-rare{background:#4c1f7a4d;color:#bf93ec}.enchantment-rarity-legendary{background:#916f084d;color:#f7d56e}.enchantment-rarity-curse{background:#8217174d;color:#ec9393}.enchantment-card-applied{border-color:#29a32980;background:#1b321b4d}.enchantment-card-curse{border-color:#862d2d66;background:#372525}.enchantment-card-curse:hover{border-color:#bf404099;background:#432d2d}.enchantment-card.enchantment-rarity-uncommon{border-left:3px solid hsl(120 60% 45%)}.enchantment-card.enchantment-rarity-rare{border-left:3px solid hsl(210 80% 50%)}.enchantment-card.enchantment-rarity-very-rare{border-left:3px solid hsl(270 60% 55%)}.enchantment-card.enchantment-rarity-legendary{border-left:3px solid hsl(45 90% 50%)}.enchantment-section{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid hsl(260 40% 30% / .3)}.enchantment-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:#e4e0eb}.enchantment-section-title svg{color:#f5c73d}.enchantment-stat-boosts{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.enchantment-stat-group{display:flex;flex-direction:column;gap:.375rem;padding:.625rem;background:#2b2537;border:1px solid hsl(260 50% 35% / .3);border-radius:.5rem}.enchantment-stat-header{display:flex;align-items:center;gap:.5rem}.enchantment-stat-icon{font-size:1rem}.enchantment-stat-name{font-size:.8125rem;font-weight:600;color:#e4e0eb}.enchantment-stat-buttons{display:flex;gap:.375rem}.enchantment-stat-btn{flex:1;min-width:0}.enchantment-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#241f2e;border-top:1px solid hsl(260 60% 40% / .3)}@media (max-width: 640px){.enchantment-modal-overlay{padding:.5rem;align-items:flex-end}.enchantment-modal-container{max-height:95vh;max-width:100%;border-radius:1rem 1rem 0 0}.enchantment-modal-header{padding:.875rem 1rem}.enchantment-modal-title{font-size:1rem}.enchantment-modal-item-name{font-size:.75rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enchantment-modal-tabs{padding:.5rem 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.enchantment-modal-tabs::-webkit-scrollbar{display:none}.enchantment-modal-tab{padding:.5rem .75rem;font-size:.8125rem;flex-shrink:0}.enchantment-modal-content{padding:.875rem 1rem;gap:.875rem}.enchantment-info-text,.enchantment-warning-text{padding:.5rem .75rem;font-size:.75rem}.enchantment-grid{grid-template-columns:1fr}.enchantment-card{padding:.75rem}.enchantment-card-name{font-size:.875rem}.enchantment-card-description{font-size:.6875rem}.enchantment-card-footer{flex-wrap:wrap;gap:.375rem}.enchantment-section-title{font-size:.8125rem}.enchantment-stat-boosts{grid-template-columns:repeat(2,1fr)}.enchantment-stat-group{padding:.5rem}.enchantment-stat-name{font-size:.75rem}.enchantment-stat-btn{padding:.25rem .375rem;font-size:.75rem}.enchantment-modal-footer{padding:.75rem 1rem}}@media (max-width: 480px){.enchantment-modal-overlay{padding:.25rem}.enchantment-modal-container{max-height:97vh}.enchantment-modal-header{padding:.75rem .875rem}.enchantment-modal-header-left{flex-direction:row;align-items:center;gap:.5rem;min-width:0}.enchantment-modal-item-icon{width:2rem;height:2rem;flex-shrink:0}.enchantment-modal-item-icon svg{width:16px;height:16px}.enchantment-modal-header-text{min-width:0;overflow:hidden}.enchantment-modal-title{font-size:.9375rem}.enchantment-modal-item-name{font-size:.6875rem;max-width:140px}.enchantment-modal-tabs{padding:.375rem .875rem;gap:.375rem}.enchantment-modal-tab{padding:.375rem .625rem;font-size:.75rem;gap:.375rem}.enchantment-modal-tab span:not(.enchantment-modal-tab-badge){max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enchantment-modal-tab-badge{font-size:.5625rem;padding:.0625rem .25rem}.enchantment-modal-content{padding:.75rem .875rem;gap:.75rem}.enchantment-grid{gap:.5rem}.enchantment-card{padding:.625rem;gap:.375rem}.enchantment-card-header{gap:.375rem}.enchantment-card-icon{font-size:1rem}.enchantment-card-name{font-size:.8125rem}.enchantment-card-applied-badge,.enchantment-card-locks-badge{font-size:.5625rem;padding:.0625rem .25rem}.enchantment-card-description{font-size:.625rem;line-height:1.35}.enchantment-card-warning{font-size:.5625rem;padding:.25rem}.enchantment-card-rarity{font-size:.5625rem;padding:.0625rem .375rem}.enchantment-section{gap:.5rem;padding-top:.5rem}.enchantment-section-title{font-size:.75rem;gap:.375rem}.enchantment-section-title svg{width:12px;height:12px}.enchantment-stat-boosts{grid-template-columns:1fr;gap:.5rem}.enchantment-stat-group{flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem .625rem}.enchantment-stat-header{flex-shrink:0}.enchantment-stat-buttons{display:flex;gap:.25rem}.enchantment-stat-btn{padding:.25rem .5rem;min-width:2.5rem}.enchantment-modal-footer{padding:.625rem .875rem;flex-direction:row;justify-content:stretch}.enchantment-modal-footer button{flex:1}}@media (max-width: 360px){.enchantment-modal-overlay{padding:0;align-items:stretch}.enchantment-modal-container{max-height:100vh;max-width:100%;border-radius:0}.enchantment-modal-header{padding:.625rem .75rem}.enchantment-modal-title{font-size:.875rem}.enchantment-modal-item-name{font-size:.625rem;max-width:100px}.enchantment-modal-close-btn{width:1.75rem;height:1.75rem}.enchantment-modal-tabs{padding:.25rem .75rem}.enchantment-modal-tab{padding:.25rem .5rem;font-size:.6875rem}.enchantment-modal-content{padding:.625rem .75rem;gap:.625rem}.enchantment-info-text,.enchantment-warning-text{padding:.375rem .5rem;font-size:.625rem}.enchantment-info-text svg,.enchantment-warning-text svg{width:12px;height:12px}.enchantment-card{padding:.5rem}.enchantment-card-name{font-size:.75rem}.enchantment-card-description{font-size:.5625rem}.enchantment-modal-footer{padding:.5rem .75rem}}@media (hover: none) and (pointer: coarse){.enchantment-card:hover{transform:none}.enchantment-card:active{border-color:#6a40bf99;background:#342d43;transform:scale(.98)}.enchantment-modal-tab:hover{background:inherit}.enchantment-modal-tab:active:not(:disabled){transform:scale(.97)}.enchantment-modal-close-btn:hover{background:transparent}.enchantment-modal-close-btn:active{background:#0003}}@media (prefers-reduced-motion: reduce){.enchantment-modal-overlay,.enchantment-modal-container{animation:none}.enchantment-card,.enchantment-modal-tab,.enchantment-modal-close-btn{transition:none}}.content-creator-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:contentCreatorOverlayFadeIn .3s ease-out}@keyframes contentCreatorOverlayFadeIn{0%{opacity:0}to{opacity:1}}.content-creator-modal-container{position:relative;width:100%;max-width:48rem;max-height:90vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#221b32,#1f122b);border:2px solid hsl(260 60% 50% / .5);border-radius:1rem;box-shadow:0 0 0 1px #7e47eb33,0 25px 50px -12px #00000080,0 0 100px -20px #7e47eb4d;animation:contentCreatorModalSlideIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes contentCreatorModalSlideIn{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.content-creator-modal-width-sm{max-width:32rem}.content-creator-modal-width-md{max-width:48rem}.content-creator-modal-width-lg{max-width:64rem}.content-creator-modal-width-xl{max-width:80rem}@media (min-width: 640px){.content-creator-modal-container{max-width:48rem}.content-creator-modal-width-sm{max-width:32rem}.content-creator-modal-width-lg{max-width:64rem}.content-creator-modal-width-xl{max-width:80rem}}.content-creator-modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,#33196680,#33145280);border-bottom:1px solid hsl(260 60% 40% / .3)}.content-creator-modal-header-left{display:flex;align-items:center;gap:.75rem}.content-creator-modal-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,#6226d9,#661fad);border-radius:.5rem;color:#fff}.content-creator-modal-header-text{display:flex;flex-direction:column;gap:.125rem}.content-creator-modal-title{font-size:1.125rem;font-weight:700;margin:0;color:#f1f0f5;letter-spacing:.02em}.content-creator-modal-subtitle{font-size:.875rem;color:#ada3c2}.content-creator-modal-close-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.5rem;color:#ada3c2;cursor:pointer;transition:background-color .2s ease,color .2s ease}.content-creator-modal-close-btn:hover{background:#0003;color:#e4e0eb}.content-creator-modal-close-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #7e47eb80}.content-creator-modal-close-btn:disabled{opacity:.5;cursor:not-allowed}.content-creator-modal-success{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#19661933;border-bottom:1px solid hsl(120 60% 40% / .3);font-size:.875rem;color:#a8f0a8;animation:contentCreatorSuccessSlideIn .3s ease-out}@keyframes contentCreatorSuccessSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.content-creator-modal-success svg{flex-shrink:0;color:#52e052}.content-creator-modal-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#6c131333;border-bottom:1px solid hsl(0 70% 40% / .3);font-size:.875rem;color:#f0a8a8;animation:contentCreatorErrorSlideIn .3s ease-out}@keyframes contentCreatorErrorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.content-creator-modal-error svg{flex-shrink:0;color:#e05252}.content-creator-modal-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.content-creator-modal-content::-webkit-scrollbar{width:6px}.content-creator-modal-content::-webkit-scrollbar-track{background:#221b32;border-radius:3px}.content-creator-modal-content::-webkit-scrollbar-thumb{background:#5229a3;border-radius:3px}.content-creator-modal-content::-webkit-scrollbar-thumb:hover{background:#63c}.content-creator-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background:#241f2e;border-top:1px solid hsl(260 60% 40% / .3)}@media (max-width: 640px){.content-creator-modal-overlay{padding:.5rem;align-items:flex-end}.content-creator-modal-container{max-height:95vh;max-width:100%!important;border-radius:1rem 1rem 0 0}.content-creator-modal-header{padding:.875rem 1rem}.content-creator-modal-title{font-size:1rem}.content-creator-modal-subtitle{font-size:.75rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-creator-modal-content{padding:1rem;gap:.875rem}.content-creator-modal-success,.content-creator-modal-error{padding:.5rem 1rem;font-size:.8125rem}.content-creator-modal-footer{padding:.75rem 1rem}}@media (max-width: 480px){.content-creator-modal-overlay{padding:.25rem}.content-creator-modal-container{max-height:97vh}.content-creator-modal-header{padding:.75rem .875rem}.content-creator-modal-header-left{min-width:0}.content-creator-modal-icon{width:2rem;height:2rem;flex-shrink:0}.content-creator-modal-icon svg{width:16px;height:16px}.content-creator-modal-header-text{min-width:0;overflow:hidden}.content-creator-modal-title{font-size:.9375rem}.content-creator-modal-subtitle{font-size:.6875rem;max-width:140px}.content-creator-modal-close-btn{width:1.75rem;height:1.75rem}.content-creator-modal-content{padding:.875rem;gap:.75rem}.content-creator-modal-success,.content-creator-modal-error{padding:.5rem .875rem;font-size:.75rem}.content-creator-modal-success svg,.content-creator-modal-error svg{width:14px;height:14px}.content-creator-modal-footer{padding:.625rem .875rem;flex-direction:row;justify-content:stretch}.content-creator-modal-footer button{flex:1}}@media (max-width: 360px){.content-creator-modal-overlay{padding:0;align-items:stretch}.content-creator-modal-container{max-height:100vh;max-width:100%!important;border-radius:0}.content-creator-modal-header{padding:.625rem .75rem}.content-creator-modal-title{font-size:.875rem}.content-creator-modal-subtitle{font-size:.625rem;max-width:100px}.content-creator-modal-content{padding:.75rem;gap:.625rem}.content-creator-modal-success,.content-creator-modal-error{padding:.375rem .75rem;font-size:.6875rem}.content-creator-modal-footer{padding:.5rem .75rem}}@media (hover: none) and (pointer: coarse){.content-creator-modal-close-btn:hover{background:transparent}.content-creator-modal-close-btn:active{background:#0003}}@media (prefers-reduced-motion: reduce){.content-creator-modal-overlay,.content-creator-modal-container{animation:none}.content-creator-modal-close-btn{transition:none}.content-creator-modal-success,.content-creator-modal-error{animation:none}}.image-field-input{display:flex;flex-direction:column;gap:.5rem}.image-field-label{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.image-field-required{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.image-field-optional{font-size:.7rem;font-weight:500;color:var(--color-text-muted);margin-left:.25rem}.image-field-input-row{display:flex;align-items:flex-start;gap:.75rem}.image-field-preview{flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;position:relative}.image-field-preview-sm{border-radius:var(--radius-sm)}.image-field-preview-lg{border-radius:var(--radius-lg)}.image-field-preview-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-field-preview-placeholder{color:var(--color-text-muted);opacity:.5}.image-field-preview-error{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));border-radius:50%;color:#fff}.image-field-input-container{flex:1;display:flex;align-items:center;gap:.25rem;position:relative}.image-field-text-input{flex:1;padding:.625rem 2.25rem .625rem .875rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.image-field-text-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.image-field-text-input::-moz-placeholder{color:var(--color-text-secondary);opacity:.6}.image-field-text-input::placeholder{color:var(--color-text-secondary);opacity:.6}.image-field-text-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.image-field-input-invalid{border-color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .6)}.image-field-input-invalid:focus{border-color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));box-shadow:0 0 0 2px hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1)}.image-field-external-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.image-field-external-btn:hover:not(:disabled){color:var(--color-primary);background:var(--color-surface-elevated)}.image-field-external-btn:disabled{opacity:.5;cursor:not-allowed}.image-field-error{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.image-field-warning{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#c2940a}.image-field-hint{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--color-text-secondary)}.image-field-hint-prefixes{font-size:.7rem;color:var(--color-text-muted)}.image-field-hint-prefixes code{padding:.125rem .25rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.65rem;font-family:var(--font-mono);color:#3380cc}.image-field-note{padding:.5rem .625rem;font-size:.75rem;color:var(--color-text-muted);background:linear-gradient(135deg,#f4f7fb,#ecf2f9);border:1px solid hsl(210 50% 90%);border-radius:var(--radius-sm);line-height:1.4}[data-theme=dark] .image-field-hint-prefixes code{background:#202e3c;color:#7db3e8}[data-theme=dark] .image-field-note{background:linear-gradient(135deg,#1b2632,#151f28);border-color:#2d4053}@media (max-width: 480px){.image-field-input-row{flex-direction:column;align-items:stretch}.image-field-preview{align-self:flex-start}.image-field-text-input{padding-right:.875rem}.image-field-external-btn{position:static;transform:none;margin-top:.5rem;width:100%;justify-content:center;gap:.5rem;padding:.5rem;background:var(--color-surface-dim);border:1px solid var(--color-border)}.image-field-external-btn:before{content:"Open Image";font-size:.75rem}.image-field-hint{flex-direction:column}}.box-contents-builder{display:flex;flex-direction:column;gap:1rem}.box-contents-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.box-contents-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.box-contents-title svg{color:#e68019}.box-contents-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.box-contents-refresh-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.box-contents-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.box-contents-drops{display:flex;flex-direction:column;gap:.75rem}.box-drop{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.box-drop-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface-dim);cursor:pointer;transition:background-color .2s ease}.box-drop-header:hover{background:var(--color-surface-elevated)}.box-drop-header-info{display:flex;align-items:center;gap:.75rem}.box-drop-number{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.box-drop-summary{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.box-drop-weight-warning{display:flex;align-items:center;gap:.25rem;color:#daa60b}.box-drop-header-actions{display:flex;align-items:center;gap:.5rem}.box-drop-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.box-drop-remove-btn:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.box-drop-remove-btn:disabled{opacity:.5;cursor:not-allowed}.box-drop-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--color-border)}.box-pool-entries{display:flex;flex-direction:column;gap:.5rem}.box-pool-entry{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-wrap:wrap}.box-pool-field{display:flex;flex-direction:column;gap:.25rem}.box-pool-label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.box-pool-input{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.box-pool-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.box-pool-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.box-pool-weight{width:80px}.box-pool-weight .box-pool-input{width:100%}.box-pool-percentage{font-size:.7rem;color:var(--color-primary);font-weight:600;text-align:center}.box-pool-type{width:auto}.box-pool-type-toggle{display:flex;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.box-pool-type-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:none;background:var(--color-surface);color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.box-pool-type-btn:hover:not(:disabled){background:var(--color-surface-elevated)}.box-pool-type-btn.active{background:var(--color-primary);color:var(--color-on-primary)}.box-pool-type-btn:disabled{opacity:.6;cursor:not-allowed}.box-pool-gold{width:100px}.box-pool-gold .box-pool-input{width:100%}.box-pool-item{flex:1;min-width:150px}.box-pool-item-autocomplete{position:relative}.box-pool-item .box-pool-input{width:100%}.box-pool-suggestions{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:100}.box-pool-suggestion{display:flex;flex-direction:column;gap:.125rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;text-align:left;cursor:pointer;transition:background-color .15s ease}.box-pool-suggestion:hover{background:var(--color-surface-elevated)}.box-pool-suggestion-name{font-size:.875rem;color:var(--color-text-primary)}.box-pool-suggestion-meta{font-size:.7rem;color:var(--color-text-secondary)}.box-pool-suggestion-empty{padding:.75rem;font-size:.875rem;color:var(--color-text-secondary);text-align:center}.box-pool-quantity{width:60px}.box-pool-quantity .box-pool-input{width:100%}.box-pool-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-bottom:.125rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;align-self:flex-end}.box-pool-remove-btn:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.box-pool-remove-btn:disabled{opacity:.5;cursor:not-allowed}.box-pool-add-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.box-pool-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .05)}.box-pool-add-btn:disabled{opacity:.5;cursor:not-allowed}.box-pool-weight-indicator{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.75rem}.box-pool-weight-indicator.valid{background:#d9f2d9;color:#1f7a1f}.box-pool-weight-indicator.warning{background:#fff2cc;color:#8a6b0f}[data-theme=dark] .box-pool-weight-indicator.valid{background:#173617;color:#70db70}[data-theme=dark] .box-pool-weight-indicator.warning{background:#393013;color:#ebc247}.box-contents-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.box-contents-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .05)}.box-contents-add-btn:disabled{opacity:.5;cursor:not-allowed}.box-contents-consume{padding:.75rem 1rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md)}.box-contents-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.box-contents-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.box-contents-checkbox input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.box-contents-checkbox-hint{font-size:.75rem;color:var(--color-text-secondary);margin-left:.25rem}.box-contents-requirements{padding:1rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.75rem}.box-requirements-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.box-requirements-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted)}.box-requirement{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.box-requirement-field{display:flex;flex-direction:column;gap:.25rem;flex:1}.box-requirement-label{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.box-requirement-input{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.box-requirement-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.box-requirement-input:disabled{opacity:.6;cursor:not-allowed}.box-requirement-quantity{width:60px;flex:0 0 60px}.box-requirement-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.box-requirement-remove-btn:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.box-requirement-remove-btn:disabled{opacity:.5;cursor:not-allowed}.box-requirements-add-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer;transition:all .2s ease}.box-requirements-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .05)}.box-requirements-add-btn:disabled{opacity:.5;cursor:not-allowed}.box-contents-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .3);border-radius:var(--radius-md)}.box-contents-error{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.box-contents-warnings{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#fff2cc;border:1px solid hsl(45 80% 60% / .5);border-radius:var(--radius-md)}[data-theme=dark] .box-contents-warnings{background:#393013;border-color:#b88f1480}.box-contents-warnings-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#aa8109}[data-theme=dark] .box-contents-warnings-header{color:#edc95e}.box-contents-warning{display:flex;align-items:center;gap:.5rem;padding-left:1.25rem;font-size:.8125rem;color:#73590d}[data-theme=dark] .box-contents-warning{color:#ecd693}.box-contents-warnings-hint{margin-top:.25rem;padding-top:.5rem;border-top:1px solid hsl(45 80% 70% / .3);font-size:.75rem;font-style:italic;color:#a38529}[data-theme=dark] .box-contents-warnings-hint{border-top-color:#b88f144d;color:#ccb366}@media (max-width: 640px){.box-pool-entry{flex-direction:column;align-items:stretch}.box-pool-field{width:100%!important}.box-pool-type-toggle{width:100%;justify-content:center}.box-pool-remove-btn{align-self:flex-end;margin-top:.5rem}.box-requirement{flex-direction:column;align-items:stretch}.box-requirement-field{width:100%}.box-requirement-quantity{width:100%;flex:1}.box-requirement-remove-btn{align-self:flex-end;margin-top:.5rem}}.equipment-creator-form{display:flex;flex-direction:column;gap:1.5rem}.equipment-creator-section{display:flex;flex-direction:column;gap:.75rem}.equipment-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.equipment-creator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.equipment-creator-field{display:flex;flex-direction:column;gap:.375rem}.equipment-creator-field-full{grid-column:1 / -1}.equipment-creator-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.equipment-creator-required{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.equipment-creator-optional{font-size:.7rem;font-weight:500;color:var(--color-text-muted);margin-left:.25rem}.equipment-creator-default{font-size:.65rem;font-weight:500;color:var(--color-text-muted);font-style:italic}.equipment-creator-input,.equipment-creator-select{padding:.625rem .875rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.equipment-creator-input:focus,.equipment-creator-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.equipment-creator-input::-moz-placeholder{color:var(--color-text-secondary);opacity:.6}.equipment-creator-input::placeholder{color:var(--color-text-secondary);opacity:.6}.equipment-creator-input:disabled,.equipment-creator-select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.equipment-creator-textarea{width:100%;padding:.625rem .875rem;font-size:.875rem;font-family:inherit;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);resize:vertical;min-height:4.5rem;transition:border-color .2s ease,box-shadow .2s ease}.equipment-creator-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.equipment-creator-textarea::-moz-placeholder{color:var(--color-text-secondary);opacity:.6}.equipment-creator-textarea::placeholder{color:var(--color-text-secondary);opacity:.6}.equipment-creator-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.equipment-creator-hint{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.equipment-creator-images-section{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.equipment-creator-images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}@media (max-width: 640px){.equipment-creator-images-grid{grid-template-columns:1fr}}.equipment-creator-type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.equipment-creator-type-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.equipment-creator-type-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-text-primary)}.equipment-creator-type-btn:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-type-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.equipment-creator-type-btn-active:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.equipment-creator-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.equipment-creator-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.equipment-creator-checkbox input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .3);border-radius:var(--radius-md)}.equipment-creator-error{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.equipment-creator-actions{display:flex;gap:.75rem;flex-wrap:wrap}.equipment-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.equipment-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.equipment-creator-preview-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.equipment-creator-preview-header{display:flex;align-items:center;gap:.5rem}.equipment-creator-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-sm)}.equipment-creator-preview-image{margin-top:.5rem;border-radius:var(--radius-md);overflow:hidden;max-width:200px;max-height:150px}.equipment-creator-preview-image img{width:100%;height:auto;max-height:150px;-o-object-fit:cover;object-fit:cover;display:block}.equipment-creator-preview-name{font-size:1rem;font-weight:600}.equipment-creator-preview-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.equipment-creator-preview-stat{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.equipment-creator-preview-stat-label{color:var(--color-text-secondary)}.equipment-creator-preview-properties{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:.5rem}.equipment-creator-preview-properties-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.equipment-creator-preview-properties-list{display:flex;flex-direction:column;gap:.5rem}.equipment-creator-preview-property-group{display:flex;flex-direction:column;gap:.25rem}.equipment-creator-preview-property-group-label{display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.equipment-creator-preview-property-tags{display:flex;flex-wrap:wrap;gap:.25rem}.equipment-creator-preview-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.7rem;font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid transparent}.equipment-creator-preview-tag-user{background:#e8f2fc;color:#0f4d8a;border-color:#a3ccf5}.equipment-creator-preview-tag-default{background:#f2f2f2;color:#737373;border-color:#d9d9d9}.equipment-creator-preview-tag-optional{background:#fff9e5;color:#8a6b0f;border-color:#ffe699;font-style:italic}[data-theme=dark] .equipment-creator-preview-tag-user{background:#19334d;color:#8cbff2;border-color:#2d5986}[data-theme=dark] .equipment-creator-preview-tag-default{background:#2e2e2e;color:#8c8c8c;border-color:#474747}[data-theme=dark] .equipment-creator-preview-tag-optional{background:#393013;color:#edc95e;border-color:#736026}.equipment-creator-advanced-options{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.equipment-creator-advanced-options-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.equipment-creator-advanced-options-toggle:hover:not(:disabled){background:var(--color-surface-elevated)}.equipment-creator-advanced-options-toggle:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-advanced-options-toggle svg:first-child{color:#1980e6}.equipment-creator-advanced-options-toggle span{flex:1;text-align:left}.equipment-creator-advanced-options-toggle svg:last-child{color:var(--color-text-secondary)}.equipment-creator-advanced-options-content{padding:1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.equipment-creator-advanced-options-intro{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.equipment-creator-advanced-options-intro code{padding:.125rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.8125rem;color:#63c}.equipment-creator-advanced-options-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:1rem}.equipment-creator-advanced-option{padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.equipment-creator-advanced-option h5{margin:0 0 .375rem;font-size:.8125rem;font-weight:600;color:#63c;font-family:monospace}.equipment-creator-advanced-option p{margin:0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4}.equipment-creator-advanced-option-types{display:block;margin-top:.375rem;font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.equipment-creator-advanced-options-code{margin-bottom:1rem}.equipment-creator-advanced-options-code h5{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.equipment-creator-advanced-options-code h5 svg{color:#1980e6}.equipment-creator-code-block{margin:0;padding:.75rem 1rem;background:#14181f;border:1px solid hsl(220 20% 20%);border-radius:var(--radius-sm);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;line-height:1.5;color:#d5d7dd;overflow-x:auto;white-space:pre}.equipment-creator-advanced-options-docs{margin:0;padding:.5rem .75rem;background:linear-gradient(135deg,#f2b90d1a,#f29e0d0d);border:1px solid hsl(45 90% 50% / .2);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text-secondary)}.equipment-creator-advanced-options-docs code{padding:.125rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.75rem;color:#c2940a}.equipment-creator-box-section{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem}.equipment-creator-box-intro{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.equipment-creator-preview-box-req{font-size:.75rem;color:#cfa117;margin-left:.5rem}@media (max-width: 640px){.equipment-creator-grid{grid-template-columns:1fr}.equipment-creator-type-selector{flex-direction:column}.equipment-creator-type-btn{width:100%;justify-content:center}.equipment-creator-actions{flex-direction:column}.equipment-creator-actions button{width:100%}.equipment-creator-advanced-options-list{grid-template-columns:1fr}.equipment-creator-code-block{font-size:.6875rem}}.equipment-creator-advanced-options-count{font-size:.75rem;color:var(--color-text-muted);margin-left:.5rem;font-weight:400}.equipment-creator-advanced-section{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden}.equipment-creator-advanced-section:last-child{margin-bottom:0}.equipment-creator-advanced-section-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;background:var(--color-surface-dim);border:none;color:var(--color-text-primary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.equipment-creator-advanced-section-toggle:hover:not(:disabled){background:var(--color-surface-elevated)}.equipment-creator-advanced-section-toggle:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-advanced-section-toggle svg:first-child{color:#1980e6}.equipment-creator-advanced-section-toggle span{flex:1;text-align:left}.equipment-creator-advanced-section-toggle svg:last-child{color:var(--color-text-secondary)}.equipment-creator-advanced-section-count{font-size:.75rem;color:var(--color-text-muted);background:var(--color-surface);padding:.125rem .5rem;border-radius:var(--radius-sm);margin-right:.5rem}.equipment-creator-advanced-section-content{padding:.875rem;background:var(--color-surface);border-top:1px solid var(--color-border)}.equipment-creator-advanced-section-hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4}.equipment-creator-properties-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.equipment-creator-property-item{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem}.equipment-creator-property-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.equipment-creator-property-number{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.equipment-creator-property-remove{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .7);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease}.equipment-creator-property-remove:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.equipment-creator-property-remove:disabled{opacity:.5;cursor:not-allowed}.equipment-creator-property-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.equipment-creator-input-sm,.equipment-creator-select-sm{padding:.5rem .625rem;font-size:.8125rem}.equipment-creator-input-xs,.equipment-creator-select-xs{padding:.375rem .5rem;font-size:.75rem}.equipment-creator-label-xs{font-size:.7rem}.equipment-creator-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.equipment-creator-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#ebf2fa;border:1px solid hsl(210 60% 80%);border-radius:var(--radius-sm);font-size:.75rem;color:#1f4d7a}[data-theme=dark] .equipment-creator-chip{background:#1f3347;border-color:#36597d;color:#99bfe6}.equipment-creator-chip-remove{display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;color:inherit;cursor:pointer;opacity:.6;transition:opacity .2s ease}.equipment-creator-chip-remove:hover{opacity:1}.equipment-creator-multiselect{display:flex;flex-direction:column;gap:.5rem}.equipment-creator-multiselect-header{display:flex;justify-content:flex-end}.equipment-creator-multiselect-input-row{display:flex;gap:.5rem;flex-wrap:wrap}.equipment-creator-multiselect-input-row>*{flex:1;min-width:150px}.equipment-creator-skills-list{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.5rem}.equipment-creator-skill-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.equipment-creator-skill-name{flex:1;font-size:.8125rem;color:var(--color-text-primary)}.equipment-creator-skill-remove{display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .7);cursor:pointer;opacity:.6;transition:opacity .2s ease}.equipment-creator-skill-remove:hover{opacity:1}.equipment-creator-spells-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.equipment-creator-spell-item{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem}.equipment-creator-spell-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.equipment-creator-spell-name{font-size:.8125rem;font-weight:500;color:var(--color-text-primary)}.equipment-creator-spell-remove{display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .7);cursor:pointer;opacity:.6;transition:opacity .2s ease}.equipment-creator-spell-remove:hover{opacity:1}.equipment-creator-spell-options{display:flex;gap:.5rem;flex-wrap:wrap}.equipment-creator-spell-options .equipment-creator-field{flex:1;min-width:100px}.equipment-creator-spawnweight-row{display:flex;gap:1rem;align-items:flex-start}.equipment-creator-spawnweight-row>.equipment-creator-field{flex:0 0 120px}.equipment-creator-spawnweight-info{flex:1;padding-top:1.25rem}.equipment-creator-spawnweight-label{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--color-text-secondary)}.equipment-creator-add-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.5rem;background:var(--color-surface-dim);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.equipment-creator-add-btn:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-primary)}.equipment-creator-add-btn:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-refresh-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.equipment-creator-refresh-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-primary);border-color:var(--color-primary)}.equipment-creator-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.equipment-creator-docs-section{margin-top:1rem;border-color:#f2b90d4d}.equipment-creator-docs-section .equipment-creator-advanced-section-toggle{background:#f2b90d0d}.equipment-creator-docs-section .equipment-creator-advanced-section-toggle svg:first-child{color:#f2b90d}.equipment-creator-preview-tag-advanced{background:#ebfaf2;color:#1f7a4d;border-color:#adebcc}[data-theme=dark] .equipment-creator-preview-tag-advanced{background:#173626;color:#70dba6;border-color:#2e6b4d}@media (max-width: 640px){.equipment-creator-property-fields{grid-template-columns:1fr}.equipment-creator-multiselect-input-row{flex-direction:column}.equipment-creator-multiselect-input-row>*{min-width:100%}.equipment-creator-spawnweight-row{flex-direction:column;gap:.5rem}.equipment-creator-spawnweight-row>.equipment-creator-field{flex:1}.equipment-creator-spawnweight-info{padding-top:0}}.items-tab{display:flex;flex-direction:column;gap:1.5rem;width:100%}.items-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem}.items-header-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);color:var(--color-on-primary)}.items-header-text{flex:1}.items-header-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.items-header-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-secondary)}.items-header-left{display:flex;align-items:center;gap:.75rem;flex:1}.items-header-selector{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.items-selector-info{display:flex;align-items:center;gap:.375rem;color:var(--color-text-secondary);font-size:.75rem}.items-selector-icon{opacity:.8}.items-selector-label{font-weight:500}.items-select-wrapper{position:relative;display:flex;align-items:center}.items-character-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.375rem 2rem .375rem .75rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;min-width:200px}.items-character-select:hover{border-color:var(--color-primary)}.items-character-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.items-select-chevron{position:absolute;right:.5rem;pointer-events:none;color:var(--color-text-secondary)}.items-section{overflow:hidden}.items-section-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:1rem;transition:background-color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.items-section-header:hover{background:var(--color-surface-dim)}.items-section-header-content{display:flex;align-items:center;gap:.75rem;flex:1}.items-section-header-text{flex:1}.items-section-header-right{display:flex;align-items:center;gap:.75rem}.items-section-icon{color:var(--color-primary);flex-shrink:0}.items-section-icon-lootbox{color:hsl(var(--cute-yellow))}.items-section-icon-creator{color:hsl(var(--cute-purple))}.items-section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.items-section-description{font-size:.75rem;color:var(--color-text-secondary);margin:.125rem 0 0}.items-section-chevron{color:var(--color-text-secondary);transition:transform .2s ease}.items-section-content{padding:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:1rem}.items-weight-summary{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--color-surface-dim);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-text-secondary)}.items-weight-label{font-weight:500}.items-equipment-category{display:flex;flex-direction:column;gap:.5rem}.items-equipment-category-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.items-category-icon{color:var(--color-primary)}.items-equipment-category-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.items-equipment-category-count{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.items-equipment-items{display:flex;flex-direction:column;gap:.5rem}.items-equipment-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.items-equipment-item:hover{border-color:var(--color-primary);background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 2))}.items-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-teal) / .05));border-color:hsl(var(--cute-teal) / .4)}.items-equipment-item-equipped:hover{background:linear-gradient(135deg,hsl(var(--cute-teal) / .2),hsl(var(--cute-teal) / .08));border-color:hsl(var(--cute-teal) / .5)}.items-equipment-item-ammunition{background:linear-gradient(135deg,hsl(var(--cute-orange) / .1),hsl(var(--cute-yellow) / .05));border-color:hsl(var(--cute-orange) / .3)}.items-equipment-item-ammunition:hover{background:linear-gradient(135deg,hsl(var(--cute-orange) / .15),hsl(var(--cute-yellow) / .1));border-color:hsl(var(--cute-orange) / .4)}.items-equipment-item-ammunition.items-equipment-item-equipped{background:linear-gradient(135deg,hsl(var(--cute-teal) / .15),hsl(var(--cute-orange) / .1));border-color:hsl(var(--cute-teal) / .4)}.items-equipment-item-selected{cursor:pointer;box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .5),0 0 12px 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .3);border-color:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l))}.items-equipment-item-wrapper{display:flex;flex-direction:column}.items-equipment-item-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.items-equipment-checkmark{color:hsl(var(--cute-teal));flex-shrink:0}.items-equipment-ammo-icon{color:hsl(var(--cute-orange));flex-shrink:0}.items-equipment-name{font-size:.875rem;color:var(--color-text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.items-equipment-ammo-weight{font-size:.75rem;color:var(--color-text-secondary);font-style:italic;cursor:help}.items-equipment-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--cute-teal) / .2);color:hsl(var(--cute-teal));border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;margin-right:.25rem}.items-equipment-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.items-equipment-remove-btn{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.items-equipment-remove-btn:hover{background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1)}.items-equipment-enchant-btn{color:#7e47eb;border-color:#855cd64d}.items-equipment-enchant-btn:hover{background:linear-gradient(135deg,#713cdd26,#3c71dd1a);border-color:#713cdd80;color:#9e75f0}.items-equipment-lift-curse-btn{color:#29a329;border-color:#29a32966;background:#29a3290d}.items-equipment-lift-curse-btn:hover{color:#248f24;border-color:#29a32999;background:#29a3291f}.items-equipment-item-cursed{border-color:hsl(var(--cute-red) / .4);background:linear-gradient(135deg,hsl(var(--cute-red) / .08),hsl(var(--cute-red) / .03))}.items-equipment-item-cursed:hover{border-color:hsl(var(--cute-red) / .5);background:linear-gradient(135deg,hsl(var(--cute-red) / .12),hsl(var(--cute-red) / .05))}.items-equipment-attunement-lock{color:hsl(var(--cute-red));flex-shrink:0;font-size:.875rem;animation:pulse-attunement 2s ease-in-out infinite}@keyframes pulse-attunement{0%,to{opacity:1}50%{opacity:.6}}.items-modification-badges{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-left:.5rem;padding-left:.5rem;border-left:1px solid var(--color-border);max-width:300px;overflow:hidden}.items-modification-badges:first-child{margin-left:0;padding-left:0;border-left:none}.items-modification-badge{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;cursor:help;transition:all .2s ease;max-width:100%;overflow:hidden;text-overflow:ellipsis}.items-modification-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000026}.items-modification-enchantment{background:linear-gradient(135deg,#713cdd33,#3c71dd26);color:#9e75f0;border:1px solid hsl(260 70% 55% / .3)}.items-modification-enchantment:hover{background:linear-gradient(135deg,#713cdd40,#3c71dd33);color:#ae8cf2}.items-modification-curse{background:linear-gradient(135deg,hsl(var(--cute-red) / .15),#d962261a);color:hsl(var(--cute-red));border:1px solid hsl(var(--cute-red) / .3)}.items-modification-curse:hover{background:linear-gradient(135deg,hsl(var(--cute-red) / .2),#d9622626)}.items-modification-combo{background:linear-gradient(135deg,#f2b90d33,#f2800d26);color:#f4c025;border:1px solid hsl(45 90% 50% / .4)}.items-modification-combo:hover{background:linear-gradient(135deg,#f2b90d40,#f2800d33)}.items-modification-overflow{background:var(--color-surface-dim);color:var(--color-text-secondary);border:1px solid var(--color-border);font-style:italic}.items-modification-overflow:hover{background:var(--color-surface-elevated);color:var(--color-text-primary)}.items-equipment-item-expanded{flex-direction:column;align-items:stretch}.items-equipment-item-expanded .items-equipment-item-content{flex:1}.items-equipment-expand-btn{color:var(--color-text-secondary);padding:.25rem .5rem;font-size:.75rem}.items-equipment-expand-btn:hover{color:var(--color-primary);background:var(--color-surface-elevated)}.items-modification-details{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--color-border);width:100%}.items-modification-details-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.items-modification-details-header svg{color:#9e75f0}.items-modification-list{display:flex;flex-direction:column;gap:.75rem}.items-modification-entry{padding:.625rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.items-modification-entry-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.items-modification-source{padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.items-modification-source-enchantment{background:linear-gradient(135deg,#713cdd33,#3c71dd26);color:#9e75f0;border:1px solid hsl(260 70% 55% / .3)}.items-modification-source-curse{background:linear-gradient(135deg,hsl(var(--cute-red) / .15),#d962261a);color:hsl(var(--cute-red));border:1px solid hsl(var(--cute-red) / .3)}.items-modification-source-upgrade{background:linear-gradient(135deg,#29a32926,#29a3521a);color:#2eb82e;border:1px solid hsl(120 60% 40% / .3)}.items-modification-source-template{background:var(--color-surface-dim);color:var(--color-text-secondary);border:1px solid var(--color-border)}.items-modification-name{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.items-modification-timestamp{margin-left:auto;font-size:.6875rem;color:var(--color-text-secondary)}.items-modification-properties{display:flex;flex-direction:column;gap:.25rem;margin-top:.375rem}.items-modification-property{display:flex;align-items:center;gap:.5rem;padding:.25rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.75rem}.items-modification-property-type{font-weight:600;color:#1980e6;text-transform:capitalize}.items-modification-property-target{color:#7f33cc;font-weight:500}.items-modification-property-value{color:var(--color-text-primary);font-weight:700;margin-left:auto}.items-modification-description{margin-top:.375rem;padding:.375rem;font-size:.75rem;color:var(--color-text-secondary);font-style:italic;background:var(--color-surface-dim);border-radius:var(--radius-sm);border-left:2px solid var(--color-border)}.items-modification-features,.items-modification-skills,.items-modification-spells{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.375rem}.items-modification-features-label,.items-modification-skills-label,.items-modification-spells-label{font-size:.6875rem;color:var(--color-text-secondary);font-weight:500}.items-modification-feature-tag,.items-modification-skill-tag,.items-modification-spell-tag{padding:.125rem .375rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.6875rem;color:var(--color-text-primary)}.items-modification-feature-tag{border-color:#f2b90d4d;background:#f2b90d1a}.items-modification-skill-tag{border-color:#29a3294d;background:#29a3291a}.items-modification-spell-tag{border-color:#7f33cc4d;background:#7f33cc1a}.items-modification-effects-summary{margin-top:.75rem;padding-top:.625rem;border-top:1px dashed var(--color-border)}.items-modification-effects-summary-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem;font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.items-modification-effects-summary-header svg{color:#f2b90d}.items-modification-effects-list{display:flex;flex-direction:column;gap:.25rem}.items-modification-effect-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .375rem;background:linear-gradient(135deg,#f2b90d0d,#f2800d08);border:1px solid hsl(45 90% 50% / .15);border-radius:var(--radius-sm);font-size:.75rem}.items-modification-effect-type{font-weight:600;color:#1980e6;text-transform:capitalize}.items-modification-effect-target{color:#7f33cc;font-weight:500}.items-modification-effect-value{color:var(--color-text-primary);font-weight:700;margin-left:auto}.items-modification-actions{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--color-border)}.items-modification-remove-btn{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .8);border-color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .3);background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .05);font-size:.6875rem;padding:.25rem .5rem}.items-modification-remove-btn:hover{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));border-color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .5);background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1)}.items-modification-management{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.items-modification-lift-curse-btn{color:#29a329;border-color:#29a32966;background:#29a3290d}.items-modification-lift-curse-btn:hover{color:#248f24;border-color:#29a32999;background:#29a3291a}.items-modification-disenchant-btn{color:#7f33cccc;border-color:#7f33cc66;background:#7f33cc0d}.items-modification-disenchant-btn:hover{color:#7f33cc;border-color:#7f33cc99;background:#7f33cc1a}.items-weight-footer{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.75rem;background:var(--color-surface-dim);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:.5rem;flex-wrap:wrap}.items-weight-stat{display:flex;align-items:center;gap:.375rem}.items-weight-stat-label{font-size:.8125rem;color:var(--color-text-secondary)}.items-weight-stat-value{font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.items-json-dump{margin-top:.5rem}.items-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.items-empty-icon-wrapper{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .1),hsl(var(--cute-pink) / .1));border-radius:var(--radius-full);margin-bottom:1rem}.items-empty-icon{color:hsl(var(--cute-purple))}.items-empty-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.items-empty-description{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:400px}.items-empty-equipment{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:.5rem}.items-empty-equipment-icon-wrapper{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-full);margin-bottom:.25rem}.items-empty-equipment-icon{color:var(--color-text-secondary);opacity:.5}.items-empty-equipment-title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin:0}.items-empty-equipment-description{font-size:.8125rem;color:var(--color-text-secondary);margin:0;max-width:280px;line-height:1.5}.items-empty-lootbox{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center;gap:.75rem;border:1px dashed var(--color-border);border-radius:var(--radius-lg);margin-top:1rem;background:var(--color-surface)}.items-empty-lootbox-icon-wrapper{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--cute-purple) / .15),hsl(var(--cute-pink) / .1));border-radius:var(--radius-full)}.items-empty-lootbox-icon{color:hsl(var(--cute-purple));opacity:.7}.items-empty-lootbox-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.items-empty-lootbox-description{font-size:.8125rem;color:var(--color-text-secondary);margin:0;max-width:280px;line-height:1.5}.items-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center;gap:.75rem;border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .3);border-radius:var(--radius-lg);margin-top:1rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .05)}.items-error-state-icon-wrapper{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:linear-gradient(135deg,hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .15),hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1));border-radius:var(--radius-full)}.items-error-state-icon{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.items-error-state-title{font-size:1rem;font-weight:600;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));margin:0}.items-error-state-message{font-size:.8125rem;color:var(--color-text-secondary);margin:0;max-width:280px;line-height:1.5}.items-error-state-action{margin-top:.5rem}.items-error-compact{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .2);border-radius:var(--radius-md);font-size:.8125rem;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.items-error-compact-icon{flex-shrink:0}.items-equipment-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center;gap:.5rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .05);border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .2);border-radius:var(--radius-md)}.items-equipment-error-icon{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));opacity:.7}.items-equipment-error-title{font-size:.875rem;font-weight:600;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l));margin:0}.items-equipment-error-message{font-size:.75rem;color:var(--color-text-secondary);margin:0;max-width:240px}.items-lootbox-placeholder,.items-creator-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px}.items-placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.75rem;color:var(--color-text-secondary)}.items-placeholder-icon{opacity:.5}.items-placeholder-text{font-size:1rem;font-weight:500;color:var(--color-text-primary);margin:0}.items-placeholder-subtext{font-size:.875rem;color:var(--color-text-secondary);margin:0;max-width:400px}.lootbox-mode-selector{display:flex;gap:.5rem;flex-wrap:wrap;padding:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-md)}.lootbox-mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.lootbox-mode-btn:hover{background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-text-primary)}.lootbox-mode-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.lootbox-mode-btn-active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.lootbox-controls{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.lootbox-control-group{display:flex;flex-direction:column;gap:.5rem}.lootbox-control-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.lootbox-control-inputs{display:flex;align-items:center;gap:1rem}.lootbox-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface-dim);border-radius:var(--radius-full);outline:none;cursor:pointer}.lootbox-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;-webkit-transition:transform .2s ease;transition:transform .2s ease}.lootbox-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.lootbox-slider::-moz-range-thumb{width:18px;height:18px;background:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;border:none;-moz-transition:transform .2s ease;transition:transform .2s ease}.lootbox-slider::-moz-range-thumb:hover{transform:scale(1.1)}.lootbox-control-value{min-width:3rem;text-align:center;font-size:.875rem;font-weight:600;color:var(--color-primary);padding:.25rem .5rem;background:var(--color-surface-dim);border-radius:var(--radius-sm)}.lootbox-select{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease}.lootbox-select:focus{outline:none;border-color:var(--color-primary)}.lootbox-rarity-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem}.lootbox-rarity-checkbox{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lootbox-rarity-checkbox:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.lootbox-rarity-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;margin:0}.lootbox-rarity-checkbox input[type=checkbox]:checked{accent-color:inherit}.lootbox-rarity-checkbox input[type=checkbox]:checked+span{font-weight:600}.lootbox-rarity-checkbox:has(input:checked){background:var(--color-surface-hover)}.lootbox-rarity-checkbox[data-rarity=common]:has(input:checked){border-color:var(--color-text-secondary);background:linear-gradient(135deg,var(--color-surface-hover),hsl(0 0% 50% / .1))}.lootbox-rarity-checkbox[data-rarity=common]:has(input:checked) input[type=checkbox]{accent-color:var(--color-text-secondary)}.lootbox-rarity-checkbox[data-rarity=uncommon]:has(input:checked){border-color:#29a329;background:linear-gradient(135deg,var(--color-surface-hover),hsl(120 60% 40% / .1))}.lootbox-rarity-checkbox[data-rarity=uncommon]:has(input:checked) input[type=checkbox]{accent-color:hsl(120 60% 40%)}.lootbox-rarity-checkbox[data-rarity=rare]:has(input:checked){border-color:#1980e6;background:linear-gradient(135deg,var(--color-surface-hover),hsl(210 80% 50% / .1))}.lootbox-rarity-checkbox[data-rarity=rare]:has(input:checked) input[type=checkbox]{accent-color:hsl(210 80% 50%)}.lootbox-rarity-checkbox[data-rarity=very_rare]:has(input:checked){border-color:#93c;background:linear-gradient(135deg,var(--color-surface-hover),hsl(280 60% 50% / .1))}.lootbox-rarity-checkbox[data-rarity=very_rare]:has(input:checked) input[type=checkbox]{accent-color:hsl(280 60% 50%)}.lootbox-rarity-checkbox[data-rarity=legendary]:has(input:checked){border-color:#f2930d;background:linear-gradient(135deg,var(--color-surface-hover),hsl(35 90% 50% / .1))}.lootbox-rarity-checkbox[data-rarity=legendary]:has(input:checked) input[type=checkbox]{accent-color:hsl(35 90% 50%)}.lootbox-magic-items-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#9933cc1a,#cc33991a);border:1px solid hsl(280 50% 50% / .3);border-radius:var(--radius-md);font-size:.875rem;color:#c285e0;margin-top:.5rem}.lootbox-magic-items-info svg{color:#b152e0}.lootbox-box-mode{display:flex;flex-direction:column;gap:1rem}.lootbox-box-source-toggle{display:flex;gap:.5rem}.lootbox-box-source-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.lootbox-box-source-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.lootbox-box-source-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.lootbox-box-source-btn svg{width:14px;height:14px}.lootbox-box-empty-hint{padding:.5rem .75rem;background:hsl(var(--color-warning-h) var(--color-warning-s) var(--color-warning-l) / .1);border:1px solid hsl(var(--color-warning-h) var(--color-warning-s) var(--color-warning-l) / .3);border-radius:var(--radius-md);font-size:.8rem;color:hsl(var(--color-warning-h) var(--color-warning-s) var(--color-warning-l));margin-top:.5rem}.lootbox-box-builder{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem;max-height:400px;overflow-y:auto}.lootbox-box-open-toggle{display:flex;gap:.5rem}.lootbox-box-open-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.lootbox-box-open-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.lootbox-box-open-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.lootbox-box-open-btn svg{width:14px;height:14px}.lootbox-spawn-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.lootbox-spawn-btn{min-width:180px}.lootbox-clear-btn{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.lootbox-total-value{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .15),hsl(var(--cute-orange) / .1));border:1px solid hsl(var(--cute-yellow) / .3);border-radius:var(--radius-md);color:hsl(var(--cute-yellow))}.lootbox-value-label{font-size:.875rem;font-weight:500}.lootbox-value-amount{font-size:1rem;font-weight:700}.lootbox-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.lootbox-items-animating .lootbox-item-card{animation:lootbox-item-appear .3s ease forwards;opacity:0;transform:translateY(10px)}@keyframes lootbox-item-appear{to{opacity:1;transform:translateY(0)}}.lootbox-item-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:all .2s ease}.lootbox-item-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.lootbox-item-card-magic{background:linear-gradient(135deg,var(--color-surface) 0%,hsl(280 60% 50% / .08) 50%,hsl(320 60% 50% / .05) 100%);border-color:#9540bf66;position:relative;overflow:hidden}.lootbox-item-card-magic:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#b152e0,#e052b1,#b152e0);animation:magic-shimmer 3s ease-in-out infinite}.lootbox-item-card-magic:hover{border-color:#ad5cd699;box-shadow:0 4px 16px #9933cc40;transform:translateY(-3px)}@keyframes magic-shimmer{0%,to{opacity:.6;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}}.lootbox-magic-sparkle-icon{color:#b152e0;animation:sparkle-pulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes sparkle-pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.lootbox-item-header{display:flex;align-items:center;gap:.5rem;min-width:0}.lootbox-item-name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.lootbox-item-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.lootbox-item-rarity{font-weight:600}.lootbox-item-type{color:var(--color-text-secondary);text-transform:capitalize}.lootbox-item-stat{display:flex;align-items:center;gap:.25rem;font-size:.75rem}.lootbox-item-stat-label{color:var(--color-text-secondary)}.lootbox-item-stat-value{color:var(--color-text-primary);font-weight:500}.lootbox-item-grants{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.lootbox-item-grants-label{font-size:.7rem;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.03em}.lootbox-item-grants-list{display:flex;flex-wrap:wrap;gap:.25rem}.lootbox-item-grant-tag{display:inline-flex;align-items:center;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;white-space:nowrap}.lootbox-item-grant-tag-feature{background:linear-gradient(135deg,#f2b90d26,#f29e0d1a);border:1px solid hsl(45 90% 50% / .3);color:#da950b}.lootbox-item-grant-tag-skill{background:linear-gradient(135deg,#29a32926,#29a3521a);border:1px solid hsl(120 60% 40% / .3);color:#248f24}.lootbox-item-grant-tag-spell{background:linear-gradient(135deg,#7f33cc26,#9933cc1a);border:1px solid hsl(270 60% 50% / .3);color:#8c47d1}.lootbox-add-item-btn{margin-top:.25rem;width:100%}.lootbox-add-all{display:flex;justify-content:center;padding-top:.5rem;border-top:1px solid var(--color-border)}.lootbox-add-all-btn{min-width:250px}.lootbox-json-dump{margin-top:.5rem}.item-creator-form{display:flex;flex-direction:column;gap:1.5rem}.item-creator-section{display:flex;flex-direction:column;gap:.75rem}.item-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.item-creator-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.item-creator-field{display:flex;flex-direction:column;gap:.375rem}.item-creator-field-full{grid-column:1 / -1}.item-creator-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.item-creator-required{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.item-creator-optional{font-size:.7rem;font-weight:500;color:var(--color-text-muted);margin-left:.25rem}.item-creator-default{font-size:.65rem;font-weight:500;color:var(--color-text-muted);font-style:italic}.item-creator-input,.item-creator-select{padding:.625rem .875rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.item-creator-input:focus,.item-creator-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.item-creator-input::-moz-placeholder{color:var(--color-text-secondary);opacity:.6}.item-creator-input::placeholder{color:var(--color-text-secondary);opacity:.6}.item-creator-hint{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.item-creator-type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.item-creator-type-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.item-creator-type-btn:hover{background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-text-primary)}.item-creator-type-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.item-creator-type-btn-active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.item-creator-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.item-creator-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.item-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);border:1px solid hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .3);border-radius:var(--radius-md)}.item-creator-error{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.item-creator-actions{display:flex;gap:.75rem;flex-wrap:wrap}.item-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.item-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.item-creator-preview-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.item-creator-preview-header{display:flex;align-items:center;gap:.5rem}.item-creator-preview-name{font-size:1rem;font-weight:600}.item-creator-preview-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.item-creator-preview-stat{display:flex;align-items:center;gap:.375rem;font-size:.875rem}.item-creator-preview-stat-label{color:var(--color-text-secondary)}.item-creator-preview-properties{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:.5rem}.item-creator-preview-properties-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.item-creator-preview-properties-list{display:flex;flex-direction:column;gap:.5rem}.item-creator-preview-property-group{display:flex;flex-direction:column;gap:.25rem}.item-creator-preview-property-group-label{display:flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.item-creator-preview-property-tags{display:flex;flex-wrap:wrap;gap:.25rem}.item-creator-preview-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.7rem;font-family:var(--font-mono);border-radius:var(--radius-sm);border:1px solid transparent}.item-creator-preview-tag-user{background:#e8f2fc;color:#0f4d8a;border-color:#a3ccf5}.item-creator-preview-tag-default{background:#f2f2f2;color:#737373;border-color:#d9d9d9}.item-creator-preview-tag-optional{background:#fff9e5;color:#8a6b0f;border-color:#ffe699;font-style:italic}[data-theme=dark] .item-creator-preview-tag-user{background:#19334d;color:#8cbff2;border-color:#2d5986}[data-theme=dark] .item-creator-preview-tag-default{background:#2e2e2e;color:#8c8c8c;border-color:#474747}[data-theme=dark] .item-creator-preview-tag-optional{background:#393013;color:#edc95e;border-color:#736026}.item-creator-last-created{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.item-creator-last-created-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.item-creator-json-dump{margin-top:.5rem}.item-creator-advanced-options{background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.item-creator-advanced-options-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.item-creator-advanced-options-toggle:hover{background:var(--color-surface-elevated)}.item-creator-advanced-options-toggle svg:first-child{color:#1980e6}.item-creator-advanced-options-toggle span{flex:1;text-align:left}.item-creator-advanced-options-toggle svg:last-child{color:var(--color-text-secondary)}.item-creator-advanced-options-content{padding:1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.item-creator-advanced-options-intro{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}.item-creator-advanced-options-intro code{padding:.125rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.8125rem;color:#63c}.item-creator-advanced-options-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:1rem}.item-creator-advanced-option{padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.item-creator-advanced-option h5{margin:0 0 .375rem;font-size:.8125rem;font-weight:600;color:#63c;font-family:monospace}.item-creator-advanced-option p{margin:0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.4}.item-creator-advanced-option-types{display:block;margin-top:.375rem;font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.item-creator-advanced-options-code{margin-bottom:1rem}.item-creator-advanced-options-code h5{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--color-text-primary)}.item-creator-advanced-options-code h5 svg{color:#1980e6}.item-creator-code-block{margin:0;padding:.75rem 1rem;background:#14181f;border:1px solid hsl(220 20% 20%);border-radius:var(--radius-sm);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;line-height:1.5;color:#d5d7dd;overflow-x:auto;white-space:pre}.item-creator-advanced-options-docs{margin:0;padding:.5rem .75rem;background:linear-gradient(135deg,#f2b90d1a,#f29e0d0d);border:1px solid hsl(45 90% 50% / .2);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--color-text-secondary)}.item-creator-advanced-options-docs code{padding:.125rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.75rem;color:#c2940a}@media (max-width: 640px){.items-equipment-item{flex-direction:column;align-items:flex-start;gap:.75rem}.items-equipment-actions{width:100%;justify-content:flex-end}.items-weight-footer{flex-direction:column;gap:.5rem}.items-section-header-right{display:none}.lootbox-mode-selector{flex-direction:column}.lootbox-mode-btn{width:100%;justify-content:center}.lootbox-items-grid{grid-template-columns:1fr}.lootbox-spawn-actions{flex-direction:column}.lootbox-spawn-btn,.lootbox-clear-btn{width:100%}.items-modification-badges{max-width:100%;margin-left:0;padding-left:0;border-left:none;margin-top:.5rem;width:100%}.items-equipment-item-content{flex-wrap:wrap}.items-equipment-name{max-width:100%}.item-creator-grid{grid-template-columns:1fr}.item-creator-type-selector{flex-direction:column}.item-creator-type-btn{width:100%;justify-content:center}.item-creator-actions{flex-direction:column}.item-creator-actions button{width:100%}.item-creator-advanced-options-list{grid-template-columns:1fr}.item-creator-code-block{font-size:.6875rem}}@media (max-width: 480px){.items-header,.items-section-header-content{flex-direction:column;align-items:flex-start;gap:.5rem}}.items-effects-section{margin-top:1rem;padding:1rem;background:var(--color-surface-dim);border-radius:var(--radius-md);border:1px solid var(--color-border)}.items-effects-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.items-effects-icon{color:var(--color-primary);flex-shrink:0}.items-effects-title{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.items-effects-list{display:flex;flex-direction:column;gap:.75rem}.items-effect-card{padding:.75rem;background:var(--color-surface-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:0 1px 2px #0003;transition:all .2s ease}.items-effect-card-enchanted{background:linear-gradient(135deg,var(--color-surface-elevated),hsl(260 70% 50% / .05));border-color:#6226d94d}.items-effect-card-enchanted:hover{border-color:#6226d980;box-shadow:0 2px 8px #6226d926}.items-effect-card-cursed{background:linear-gradient(135deg,var(--color-surface-elevated),hsl(var(--cute-red) / .05));border-color:hsl(var(--cute-red) / .3)}.items-effect-card-cursed:hover{border-color:hsl(var(--cute-red) / .5);box-shadow:0 2px 8px hsl(var(--cute-red) / .15)}.items-effect-card-enchanted.items-effect-card-cursed{background:linear-gradient(135deg,var(--color-surface-elevated),hsl(260 70% 50% / .03),hsl(var(--cute-red) / .03));border-color:#663d8f66}.items-effect-source{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px dashed var(--color-border);flex-wrap:wrap}.items-effect-source-icon{color:#f2b90d;flex-shrink:0}.items-effect-source-icon-enchanted{color:#8e5eed}.items-effect-source-icon-cursed{color:hsl(var(--cute-red))}.items-effect-source-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.items-effect-mod-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.items-effect-mod-badge-enchantment{background:linear-gradient(135deg,#713cdd33,#3c71dd26);color:#9e75f0;border:1px solid hsl(260 70% 55% / .3)}.items-effect-mod-badge-curse{background:linear-gradient(135deg,hsl(var(--cute-red) / .15),#d962261a);color:hsl(var(--cute-red));border:1px solid hsl(var(--cute-red) / .3)}.items-effect-instance-id{margin-left:auto;font-size:.7rem;color:var(--color-text-secondary);font-family:monospace;background:var(--color-surface-dim);padding:.125rem .25rem;border-radius:var(--radius-sm)}.items-effect-group{margin-top:.5rem;padding-top:.5rem}.items-effect-group+.items-effect-group{border-top:1px dashed var(--color-border)}.items-effect-group-label{display:block;margin-bottom:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.items-effect-group-label-enchantment{color:#9e75f0}.items-effect-group-label-curse{color:hsl(var(--cute-red))}.items-effect-properties,.items-effect-features,.items-effect-skills,.items-effect-spells{display:flex;flex-direction:column;gap:.375rem}.items-effect-property,.items-effect-feature,.items-effect-skill,.items-effect-spell{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:var(--color-surface-dim);border-radius:var(--radius-sm);font-size:.75rem}.items-effect-property-enchantment{background:linear-gradient(135deg,#713cdd1a,#3c71dd14);border-left:2px solid hsl(260 70% 55% / .5)}.items-effect-property-enchantment .items-effect-property-type{color:#7e47eb}.items-effect-property-curse{background:linear-gradient(135deg,hsl(var(--cute-red) / .1),#d962260d);border-left:2px solid hsl(var(--cute-red) / .5)}.items-effect-property-curse .items-effect-property-type{color:hsl(var(--cute-red))}.items-effect-property-type{font-weight:600;color:#1980e6;text-transform:capitalize}.items-effect-property-target{color:#7f33cc;font-weight:500}.items-effect-property-value{color:var(--color-text-primary);font-weight:600}.items-effect-property-description{margin-left:auto;color:var(--color-text-secondary);font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-effect-features-label,.items-effect-skills-label,.items-effect-spells-label{font-size:.6875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.25rem}.items-effect-feature-name{font-weight:500;color:var(--color-text-primary)}.items-effect-feature-description{margin-left:auto;color:var(--color-text-secondary);font-size:.7rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-effect-skill-icon,.items-effect-spell-icon{color:#29a329;flex-shrink:0}.items-effect-skill-name,.items-effect-spell-name{font-weight:500;color:var(--color-text-primary)}.items-effect-skill-level{margin-left:auto;padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:capitalize}.items-effect-skill-level-proficient{background:#29a32926;color:#248f24}.items-effect-skill-level-expertise{background:#f2b90d26;color:#c2940a}.items-effect-spell-level{margin-left:auto;font-size:.7rem;color:#7f33cc;font-weight:500}.items-effect-spell-uses{font-size:.7rem;color:gray}.items-effect-spell-recharge{margin-left:.25rem;font-size:.875rem;color:#1980e6}@media (max-width: 767px){.items-tab,.items-section,.lootbox-container,.items-creator-container{width:100%;min-width:0;overflow:hidden}.lootbox-items-grid,.item-creator-grid,.item-creator-advanced-options-list{grid-template-columns:1fr;gap:.75rem}.items-header-title{font-size:1rem}.items-header-subtitle{font-size:.75rem}.items-selector-label,.items-selector-info{font-size:.6875rem}.items-character-select{font-size:.75rem;padding:.3125rem 2rem .3125rem .625rem;min-width:150px}.items-section-header-title{font-size:.875rem}.items-section-header-subtitle{font-size:.6875rem}.items-equipment-name{font-size:.8125rem}.items-equipment-type{font-size:.6875rem}.items-modification-badge{font-size:.625rem;padding:.0625rem .375rem}.items-equipment-action-btn{font-size:.6875rem;padding:.25rem .5rem}.lootbox-item-name{font-size:.75rem}.lootbox-item-meta,.lootbox-item-stat{font-size:.6875rem}.lootbox-control-label{font-size:.75rem}.lootbox-control-value{font-size:.75rem;padding:.1875rem .375rem;min-width:2.5rem}.lootbox-select{font-size:.75rem;padding:.375rem .625rem}.lootbox-rarity-checkbox{font-size:.75rem;padding:.3125rem .5rem}.lootbox-rarity-checkbox input[type=checkbox]{width:.875rem;height:.875rem}.lootbox-magic-items-info,.item-creator-label{font-size:.75rem}.item-creator-optional,.item-creator-default{font-size:.625rem}.item-creator-input,.item-creator-select{font-size:.75rem;padding:.5rem .625rem}.item-creator-hint{font-size:.6875rem}.item-creator-type-btn{font-size:.75rem;padding:.375rem .75rem}.item-creator-advanced-option h5,.item-creator-advanced-option p{font-size:.75rem}.item-creator-advanced-option-types{font-size:.6875rem}.item-creator-advanced-options-code h5{font-size:.75rem}.item-creator-code-block{font-size:.6875rem;padding:.5rem .75rem}.item-creator-advanced-options-docs{font-size:.75rem;padding:.375rem .625rem}.items-effect-mod-badge{font-size:.625rem;padding:.0625rem .3125rem}.items-effect-instance-id,.items-effect-group-label{font-size:.625rem}.items-effect-property,.items-effect-feature,.items-effect-skill,.items-effect-spell{font-size:.6875rem;padding:.3125rem .375rem}.items-effect-property-description,.items-effect-feature-description{font-size:.625rem;max-width:150px}.items-effect-features-label,.items-effect-skills-label,.items-effect-spells-label{font-size:.625rem}.items-effect-feature-name,.items-effect-skill-name,.items-effect-spell-name{font-size:.6875rem}.items-effect-skill-level,.items-effect-spell-level,.items-effect-spell-uses,.items-effect-spell-recharge{font-size:.625rem}.items-header{padding-bottom:.375rem;gap:.5rem}.items-header-icon{width:2rem;height:2rem}.items-section-header{padding:.75rem}.items-equipment-item{padding:.5rem;gap:.5rem}.items-equipment-item-details,.lootbox-item-card{padding:.5rem;gap:.375rem}.lootbox-controls{padding:.75rem;gap:.75rem}.lootbox-control-group,.lootbox-rarity-checkboxes{gap:.375rem}.items-creator-form{padding:.75rem}.item-creator-grid{gap:.75rem}.item-creator-field{gap:.3125rem}.item-creator-type-selector{gap:.375rem}.items-tab{gap:1rem}.items-section-content{gap:.5rem}.lootbox-mode-selector,.lootbox-spawn-actions{gap:.375rem}.items-modification-badges{gap:.25rem}.items-effect-properties,.items-effect-features,.items-effect-skills,.items-effect-spells{gap:.3125rem}.items-empty-equipment,.items-empty-lootbox{padding:1.5rem .75rem}.items-empty-icon{font-size:2rem}.items-empty-title{font-size:.875rem}.items-empty-description{font-size:.75rem}.items-error-state{padding:1rem .75rem}.items-error-icon{font-size:1.5rem}.items-error-title{font-size:.875rem}.items-error-message{font-size:.75rem}.lootbox-slider{height:4px}.lootbox-slider::-webkit-slider-thumb{width:14px;height:14px}.lootbox-slider::-moz-range-thumb{width:14px;height:14px}}.skill-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.skill-creator-section{display:flex;flex-direction:column;gap:.75rem}.skill-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.skill-creator-section-title svg{color:var(--cute-purple)}.skill-creator-field{display:flex;flex-direction:column;gap:.375rem}.skill-creator-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.skill-creator-required{color:var(--destructive);margin-left:.125rem}.skill-creator-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.skill-creator-input,.skill-creator-select,.skill-creator-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.skill-creator-input:focus,.skill-creator-select:focus,.skill-creator-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.skill-creator-input::-moz-placeholder,.skill-creator-textarea::-moz-placeholder{color:var(--color-text-muted)}.skill-creator-input::placeholder,.skill-creator-textarea::placeholder{color:var(--color-text-muted)}.skill-creator-input:disabled,.skill-creator-select:disabled,.skill-creator-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.skill-creator-input-mono{font-family:SF Mono,Fira Code,monospace;letter-spacing:.025em}.skill-creator-textarea{resize:vertical;min-height:80px}.skill-creator-hint{font-size:.75rem;color:var(--color-text-muted)}.skill-creator-categories-selected{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.skill-creator-category-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--cute-purple-bg);color:var(--cute-purple);border-radius:4px;font-size:.8125rem;font-weight:500}.skill-creator-category-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--cute-purple);font-size:1rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s ease,background .15s ease}.skill-creator-category-remove:hover{opacity:1;background:#93c3}.skill-creator-category-remove:disabled{opacity:.4;cursor:not-allowed}.skill-creator-category-input-row{display:flex;gap:.5rem}.skill-creator-category-input{flex:1}.skill-creator-category-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.375rem}.skill-creator-suggestions-label{font-size:.75rem;color:var(--color-text-muted)}.skill-creator-suggestion-btn{padding:.25rem .5rem;border:1px solid var(--border);border-radius:4px;background:var(--color-bg-subtle);color:var(--color-text);font-size:.75rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.skill-creator-suggestion-btn:hover{background:var(--color-bg-hover);border-color:var(--ring)}.skill-creator-suggestion-btn:disabled{opacity:.5;cursor:not-allowed}.skill-creator-checkbox-field{padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.skill-creator-checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.skill-creator-checkbox{width:18px;height:18px;margin-top:.125rem;accent-color:var(--cute-purple);cursor:pointer}.skill-creator-checkbox-text{display:flex;flex-direction:column;gap:.25rem}.skill-creator-checkbox-text strong{font-size:.875rem;color:var(--color-text)}.skill-creator-checkbox-description{font-size:.75rem;color:var(--color-text-muted)}.skill-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.skill-creator-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.skill-creator-error svg{flex-shrink:0;margin-top:.125rem}.skill-creator-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.skill-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.skill-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.skill-creator-preview-title svg{color:var(--cute-gold)}.skill-creator-preview-content{display:flex;flex-direction:column;gap:.5rem}.skill-creator-preview-name{font-size:1rem;font-weight:600;color:var(--color-text)}.skill-creator-preview-ability{padding:.125rem .5rem;background:var(--cute-blue-bg);color:var(--cute-blue);border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.skill-creator-preview-categories{display:flex;flex-wrap:wrap;gap:.375rem}.skill-creator-preview-category{padding:.125rem .5rem;background:var(--cute-purple-bg);color:var(--cute-purple);border-radius:4px;font-size:.75rem}.skill-creator-preview-description{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.skill-creator-images-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.skill-creator-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}@media (max-width: 767px){.skill-creator-images-grid{gap:.75rem}}.skill-creator-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.skill-creator-preview-skill{display:flex;align-items:center;gap:.5rem}.skill-creator-preview-image{width:100%;max-height:200px;border-radius:6px;overflow:hidden;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.skill-creator-preview-image img{max-width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain}@media (max-width: 767px){.skill-creator-form{width:100%;min-width:0;overflow:hidden}.skill-creator-section-title,.skill-creator-label{font-size:.75rem}.skill-creator-input,.skill-creator-select,.skill-creator-textarea{font-size:.75rem;padding:.375rem .5rem}.skill-creator-category-tag{font-size:.75rem;padding:.25rem .375rem}.skill-creator-suggestion-btn{font-size:.6875rem;padding:.25rem .375rem}.skill-creator-checkbox-field{padding:.5rem}.skill-creator-checkbox{width:16px;height:16px}.skill-creator-checkbox-text strong{font-size:.75rem}.skill-creator-checkbox-description{font-size:.6875rem}.skill-creator-errors{padding:.5rem}.skill-creator-error{font-size:.75rem}.skill-creator-preview{padding:.75rem}.skill-creator-preview-title{font-size:.75rem}.skill-creator-preview-name{font-size:.875rem}.skill-creator-preview-ability,.skill-creator-preview-category{font-size:.6875rem;padding:.125rem .375rem}.skill-creator-preview-description{font-size:.75rem}.skill-creator-hint{font-size:.6875rem}.skill-creator-actions{gap:.5rem}}@media (max-width: 480px){.skill-creator-category-input-row,.skill-creator-actions{flex-direction:column}.skill-creator-actions button{width:100%}}.casting-time-select{display:flex;flex-direction:column;gap:.375rem}.casting-time-label{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;color:var(--color-text)}.casting-time-required{color:var(--destructive);margin-left:.125rem}.casting-time-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted);margin-left:.25rem}.casting-time-input-wrapper{display:flex;align-items:center;position:relative}.casting-time-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);pointer-events:none;z-index:1}.casting-time-dropdown{width:100%;padding:.5rem 2rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.casting-time-dropdown:hover:not(:disabled){border-color:var(--ring)}.casting-time-dropdown:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.casting-time-dropdown:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.casting-time-custom-wrapper{display:flex;align-items:center;gap:.375rem;position:relative}.casting-time-custom-input{flex:1;padding:.5rem 2.5rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease}.casting-time-custom-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.casting-time-custom-input::-moz-placeholder{color:var(--color-text-muted)}.casting-time-custom-input::placeholder{color:var(--color-text-muted)}.casting-time-custom-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.casting-time-back-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:var(--color-bg-subtle);border:1px solid var(--border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.casting-time-back-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:var(--ring)}.casting-time-back-btn:disabled{opacity:.5;cursor:not-allowed}.casting-time-hint{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.casting-time-hint-custom{color:var(--cute-purple);font-style:italic}[data-theme=dark] .casting-time-dropdown{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (max-width: 480px){.casting-time-custom-wrapper{flex-wrap:wrap}.casting-time-custom-input{padding-right:.75rem}.casting-time-back-btn{position:static;transform:none;margin-top:.375rem;width:100%;justify-content:center;gap:.5rem}.casting-time-back-btn:after{content:"Back to dropdown";font-size:.75rem}}.range-select{display:flex;flex-direction:column;gap:.375rem}.range-label{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;color:var(--color-text)}.range-required{color:var(--destructive);margin-left:.125rem}.range-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted);margin-left:.25rem}.range-input-wrapper{display:flex;align-items:center;position:relative}.range-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);pointer-events:none;z-index:1}.range-dropdown{width:100%;padding:.5rem 2rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.range-dropdown:hover:not(:disabled){border-color:var(--ring)}.range-dropdown:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.range-dropdown:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.range-custom-wrapper{display:flex;align-items:center;gap:.375rem;position:relative}.range-custom-input{flex:1;padding:.5rem 2.5rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease}.range-custom-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.range-custom-input::-moz-placeholder{color:var(--color-text-muted)}.range-custom-input::placeholder{color:var(--color-text-muted)}.range-custom-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.range-back-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:var(--color-bg-subtle);border:1px solid var(--border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.range-back-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:var(--ring)}.range-back-btn:disabled{opacity:.5;cursor:not-allowed}.range-hint{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.range-hint-custom{color:var(--cute-purple);font-style:italic}[data-theme=dark] .range-dropdown{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (max-width: 480px){.range-custom-wrapper{flex-wrap:wrap}.range-custom-input{padding-right:.75rem}.range-back-btn{position:static;transform:none;margin-top:.375rem;width:100%;justify-content:center;gap:.5rem}.range-back-btn:after{content:"Back to dropdown";font-size:.75rem}}.duration-select{display:flex;flex-direction:column;gap:.375rem}.duration-label{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:500;color:var(--color-text)}.duration-required{color:var(--destructive);margin-left:.125rem}.duration-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted);margin-left:.25rem}.duration-input-wrapper{display:flex;align-items:center;position:relative}.duration-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);pointer-events:none;z-index:1}.duration-dropdown{width:100%;padding:.5rem 2rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.duration-dropdown:hover:not(:disabled){border-color:var(--ring)}.duration-dropdown:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.duration-dropdown:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.duration-custom-wrapper{display:flex;align-items:center;gap:.375rem;position:relative}.duration-custom-input{flex:1;padding:.5rem 2.5rem .5rem 2.25rem;font-size:.875rem;color:var(--color-text);background:var(--input-bg);border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease}.duration-custom-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.duration-custom-input::-moz-placeholder{color:var(--color-text-muted)}.duration-custom-input::placeholder{color:var(--color-text-muted)}.duration-custom-input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-muted)}.duration-back-btn{position:absolute;right:.375rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:var(--color-bg-subtle);border:1px solid var(--border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.duration-back-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text);border-color:var(--ring)}.duration-back-btn:disabled{opacity:.5;cursor:not-allowed}.duration-hint{font-size:.75rem;color:var(--color-text-muted);line-height:1.4}.duration-hint-custom{color:var(--cute-purple);font-style:italic}[data-theme=dark] .duration-dropdown{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}@media (max-width: 480px){.duration-custom-wrapper{flex-wrap:wrap}.duration-custom-input{padding-right:.75rem}.duration-back-btn{position:static;transform:none;margin-top:.375rem;width:100%;justify-content:center;gap:.5rem}.duration-back-btn:after{content:"Back to dropdown";font-size:.75rem}}.spell-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.spell-creator-section{display:flex;flex-direction:column;gap:.75rem}.spell-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.spell-creator-section-title svg{color:var(--cute-purple)}.spell-creator-field{display:flex;flex-direction:column;gap:.375rem}.spell-creator-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.spell-creator-required{color:var(--destructive);margin-left:.125rem}.spell-creator-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.spell-creator-row{display:flex;gap:1rem}.spell-creator-row .spell-creator-field{flex:1}@media (max-width: 767px){.spell-creator-row{flex-direction:column}}.spell-creator-input,.spell-creator-select,.spell-creator-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.spell-creator-input:focus,.spell-creator-select:focus,.spell-creator-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.spell-creator-input::-moz-placeholder,.spell-creator-textarea::-moz-placeholder{color:var(--color-text-muted)}.spell-creator-input::placeholder,.spell-creator-textarea::placeholder{color:var(--color-text-muted)}.spell-creator-input:disabled,.spell-creator-select:disabled,.spell-creator-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.spell-creator-textarea{resize:vertical;min-height:100px}.spell-creator-hint{font-size:.75rem;color:var(--color-text-muted)}.spell-creator-components{display:flex;gap:.5rem;flex-wrap:wrap}.spell-creator-component-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--color-bg-subtle);color:var(--color-text);cursor:pointer;transition:all .15s ease;min-width:90px}.spell-creator-component-btn:hover{background:var(--color-bg-hover);border-color:var(--ring)}.spell-creator-component-btn.selected{background:var(--cute-purple-bg);border-color:var(--cute-purple);color:var(--cute-purple)}.spell-creator-component-btn:disabled{opacity:.5;cursor:not-allowed}.spell-creator-component-letter{font-size:1.125rem;font-weight:700;line-height:1}.spell-creator-component-name{font-size:.75rem;font-weight:600}.spell-creator-component-desc{font-size:.625rem;color:var(--color-text-muted)}.spell-creator-component-btn.selected .spell-creator-component-desc{color:var(--cute-purple);opacity:.8}.spell-creator-class-locked{padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.spell-creator-class-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.spell-creator-classes-grid{display:flex;flex-wrap:wrap;gap:.5rem}.spell-creator-class-btn{padding:.375rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--color-bg-subtle);color:var(--color-text);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.spell-creator-class-btn:hover{background:var(--color-bg-hover);border-color:var(--ring)}.spell-creator-class-btn.selected{background:var(--cute-blue-bg);border-color:var(--cute-blue);color:var(--cute-blue)}.spell-creator-class-btn:disabled{opacity:.5;cursor:not-allowed}.spell-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.spell-creator-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.spell-creator-error svg{flex-shrink:0;margin-top:.125rem}.spell-creator-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.spell-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.spell-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.spell-creator-preview-title svg{color:var(--cute-gold)}.spell-creator-preview-content{display:flex;flex-direction:column;gap:.625rem}.spell-creator-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.spell-creator-preview-name{font-size:1.125rem;font-weight:700}.spell-creator-preview-badges{display:flex;gap:.375rem}.spell-creator-preview-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.spell-creator-preview-badge-secondary{background:var(--color-bg-muted);color:var(--color-text-secondary)}.spell-creator-preview-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.spell-creator-preview-stat{white-space:nowrap}.spell-creator-preview-stat strong{color:var(--color-text)}.spell-creator-preview-description{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-top:.25rem;border-top:1px solid var(--border)}.spell-creator-preview-classes{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.spell-creator-preview-classes-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.spell-creator-preview-class{padding:.125rem .5rem;background:var(--cute-blue-bg);color:var(--cute-blue);border-radius:4px;font-size:.75rem;font-weight:500}@media (max-width: 767px){.spell-creator-form{width:100%;min-width:0;overflow:hidden}.spell-creator-section-title,.spell-creator-label{font-size:.75rem}.spell-creator-input,.spell-creator-select,.spell-creator-textarea{font-size:.75rem;padding:.375rem .5rem}.spell-creator-row{gap:.75rem}.spell-creator-components{gap:.375rem}.spell-creator-component-btn{padding:.5rem .75rem;min-width:80px}.spell-creator-component-letter{font-size:1rem}.spell-creator-component-name{font-size:.6875rem}.spell-creator-component-desc{font-size:.5625rem}.spell-creator-class-btn{padding:.25rem .5rem;font-size:.75rem}.spell-creator-hint{font-size:.6875rem}.spell-creator-errors{padding:.5rem}.spell-creator-error{font-size:.75rem}.spell-creator-preview{padding:.75rem}.spell-creator-preview-title{font-size:.75rem}.spell-creator-preview-name{font-size:1rem}.spell-creator-preview-badge{font-size:.6875rem;padding:.125rem .375rem}.spell-creator-preview-stats{font-size:.75rem;gap:.375rem .75rem}.spell-creator-preview-description{font-size:.75rem}.spell-creator-actions{gap:.5rem}}@media (max-width: 480px){.spell-creator-components{flex-direction:column}.spell-creator-component-btn{flex-direction:row;justify-content:flex-start;gap:.75rem;min-width:auto}.spell-creator-component-btn .spell-creator-component-desc{margin-left:auto}.spell-creator-actions{flex-direction:column}.spell-creator-actions button{width:100%}.spell-creator-preview-header{flex-direction:column;align-items:flex-start}.spell-creator-preview-stats{flex-direction:column;gap:.25rem}}.spell-creator-images-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.spell-creator-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}@media (max-width: 767px){.spell-creator-images-grid{gap:.75rem}}.spell-creator-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.spell-creator-preview-name-row{display:flex;align-items:center;gap:.5rem}.spell-creator-preview-image{width:100%;max-height:200px;border-radius:6px;overflow:hidden;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.spell-creator-preview-image img{max-width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain}.effects-builder{display:flex;flex-direction:column;gap:1rem}.effects-builder-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.effects-builder-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.effects-builder-title svg{color:#a73cdd}.effects-builder-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted)}.effects-builder-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.effects-builder-refresh-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.effects-builder-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.effects-builder-hint{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.effects-list{display:flex;flex-direction:column;gap:.75rem}.effect-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.effect-item.has-warnings{border-color:#f2b90d}.effect-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface-dim);cursor:pointer;transition:background-color .2s ease}.effect-header:hover{background:var(--color-surface-elevated)}.effect-header-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.effect-number{font-size:.875rem;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.effect-summary{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-type-badge{padding:.125rem .5rem;background:#ead9f2;color:#6b248f;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500}[data-theme=dark] .effect-type-badge{background:#3a1f47;color:#cc99e6}.effect-target{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis}.effect-empty{color:var(--color-text-muted);font-style:italic}.effect-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.effect-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.effect-remove-btn:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.effect-remove-btn:disabled{opacity:.5;cursor:not-allowed}.effect-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;border-top:1px solid var(--color-border)}.effect-custom-toggle{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease;align-self:flex-start}.effect-custom-toggle:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.effect-custom-toggle:disabled{opacity:.5;cursor:not-allowed}.effect-custom-json{display:flex;flex-direction:column;gap:.375rem}.effect-json-textarea{width:100%;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.effect-json-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.effect-json-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.effect-fields{display:flex;flex-direction:column;gap:.75rem}.effect-field{display:flex;flex-direction:column;gap:.25rem}.effect-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.effect-required{color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.effect-optional{font-size:.65rem;font-weight:400;color:var(--color-text-muted)}.effect-input,.effect-select{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.effect-input:focus,.effect-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.effect-input:disabled,.effect-select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.effect-select{cursor:pointer}.effect-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.effect-checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.effect-checkbox input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.effect-hint{font-size:.7rem;color:var(--color-text-muted)}.effect-warnings{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:#fff2cc;border:1px solid hsl(45 80% 60%);border-radius:var(--radius-sm)}[data-theme=dark] .effect-warnings{background:#393013;border-color:#b88f14}.effect-warning{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#8a6b0f}[data-theme=dark] .effect-warning{color:#edc95e}.effects-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.effects-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .05)}.effects-add-btn:disabled{opacity:.5;cursor:not-allowed}.effects-help{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-text-secondary)}.effects-help svg{flex-shrink:0;color:var(--color-text-muted);margin-top:.125rem}@media (max-width: 640px){.effect-header-info{flex-direction:column;align-items:flex-start;gap:.25rem}.effect-summary{flex-wrap:wrap;white-space:normal}}.prerequisites-builder{display:flex;flex-direction:column;gap:1rem}.prereqs-builder-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.prereqs-builder-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.prereqs-builder-title svg{color:#3ca7dd}.prereqs-builder-optional{font-size:.7rem;font-weight:400;color:var(--color-text-muted)}.prereqs-builder-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.prereqs-builder-refresh-btn:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.prereqs-builder-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.prereqs-builder-hint{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.prereqs-custom-toggle{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease;align-self:flex-start}.prereqs-custom-toggle:hover:not(:disabled){background:var(--color-surface-elevated);color:var(--color-text-primary)}.prereqs-custom-toggle:disabled{opacity:.5;cursor:not-allowed}.prereqs-custom-json{display:flex;flex-direction:column;gap:.375rem}.prereqs-json-textarea{width:100%;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.prereqs-json-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.prereqs-json-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.prereqs-list{display:flex;flex-direction:column;gap:.75rem}.prereq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface)}.prereq-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface-dim);cursor:pointer;transition:background-color .2s ease}.prereq-header:hover{background:var(--color-surface-elevated)}.prereq-header-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.prereq-type-badge{padding:.125rem .5rem;background:#d9eaf2;color:#246b8f;border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;white-space:nowrap}[data-theme=dark] .prereq-type-badge{background:#1f3a47;color:#99cce6}.prereq-value{font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prereq-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.prereq-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.prereq-remove-btn:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .1);color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.prereq-remove-btn:disabled{opacity:.5;cursor:not-allowed}.prereq-content{padding:1rem;border-top:1px solid var(--color-border)}.prereq-field{display:flex;flex-direction:column;gap:.25rem}.prereqs-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.prereqs-input,.prereqs-select{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.prereqs-input:focus,.prereqs-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.prereqs-input:disabled,.prereqs-select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.prereqs-select{cursor:pointer}.prereqs-hint{font-size:.7rem;color:var(--color-text-muted)}.prereqs-abilities-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.prereqs-ability-input{display:flex;flex-direction:column;align-items:center;gap:.25rem}.prereqs-ability-input label{font-size:.7rem;font-weight:600;color:var(--color-text-secondary)}.prereqs-ability-input input{width:100%;padding:.375rem;font-size:.875rem;text-align:center;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.prereqs-ability-input input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .1)}.prereqs-ability-input input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-surface-dim)}.prereqs-multi-select{display:flex;flex-direction:column;gap:.5rem}.prereqs-selected-items{display:flex;flex-wrap:wrap;gap:.375rem}.prereqs-selected-item{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#d9eaf2;color:#246b8f;border-radius:var(--radius-sm);font-size:.75rem}[data-theme=dark] .prereqs-selected-item{background:#1f3a47;color:#99cce6}.prereqs-selected-item-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:all .2s ease}.prereqs-selected-item-remove:hover:not(:disabled){background:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l) / .2)}.prereqs-selected-item-remove:disabled{opacity:.5;cursor:not-allowed}.prereqs-add-container{position:relative}.prereqs-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease;width:100%}.prereqs-add-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:hsl(var(--color-primary-h) var(--color-primary-s) var(--color-primary-l) / .05)}.prereqs-add-btn:disabled{opacity:.5;cursor:not-allowed}.prereqs-add-dropdown{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 4px 12px #0000001a}.prereqs-add-option{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.5rem .75rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);cursor:pointer;transition:all .2s ease;text-align:left}.prereqs-add-option:hover:not(:disabled){background:var(--color-surface-elevated)}.prereqs-add-option:disabled{opacity:.5;cursor:not-allowed}.prereqs-add-option-label{font-size:.875rem;font-weight:500}.prereqs-add-option-desc{font-size:.7rem;color:var(--color-text-muted)}.prereqs-warnings{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;background:#fff2cc;border:1px solid hsl(45 80% 60%);border-radius:var(--radius-sm)}[data-theme=dark] .prereqs-warnings{background:#393013;border-color:#b88f14}.prereqs-warning{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#8a6b0f}[data-theme=dark] .prereqs-warning{color:#edc95e}.prereqs-help{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-text-secondary)}.prereqs-help svg{flex-shrink:0;color:var(--color-text-muted);margin-top:.125rem}@media (max-width: 640px){.prereq-header-info{flex-direction:column;align-items:flex-start;gap:.25rem}.prereq-value{white-space:normal;word-break:break-word}.prereqs-abilities-grid{grid-template-columns:repeat(3,1fr)}.prereqs-add-option{padding:.75rem .5rem}}@media (max-width: 480px){.prereqs-abilities-grid{grid-template-columns:repeat(2,1fr)}}.class-feature-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.class-feature-section{display:flex;flex-direction:column;gap:.75rem}.class-feature-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.class-feature-section-title svg{color:var(--cute-purple)}.class-feature-field{display:flex;flex-direction:column;gap:.375rem}.class-feature-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.class-feature-required{color:var(--destructive);margin-left:.125rem}.class-feature-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.class-feature-row{display:flex;gap:1rem}.class-feature-row .class-feature-field{flex:1}@media (max-width: 767px){.class-feature-row{flex-direction:column}}.class-feature-input,.class-feature-select,.class-feature-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.class-feature-input:focus,.class-feature-select:focus,.class-feature-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.class-feature-input::-moz-placeholder,.class-feature-textarea::-moz-placeholder{color:var(--color-text-muted)}.class-feature-input::placeholder,.class-feature-textarea::placeholder{color:var(--color-text-muted)}.class-feature-input:disabled,.class-feature-select:disabled,.class-feature-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.class-feature-textarea{resize:vertical;min-height:100px}.class-feature-hint{font-size:.75rem;color:var(--color-text-muted)}.class-feature-locked-hint{color:var(--cute-purple)}.class-feature-id-row{display:flex;gap:.5rem;align-items:center}.class-feature-id-row .class-feature-input{flex:1}.class-feature-checkbox-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.class-feature-checkbox-label input[type=checkbox]{cursor:pointer}.class-feature-advanced-toggle{margin-top:.25rem}.class-feature-advanced-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.class-feature-advanced-btn:hover{color:var(--color-text)}.class-feature-advanced-btn:disabled{opacity:.5;cursor:not-allowed}.class-feature-advanced-section{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-feature-effects-list{display:flex;flex-direction:column;gap:.75rem}.class-feature-effect-item{display:flex;flex-direction:column;gap:.5rem;padding:.625rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--border)}.class-feature-effect-header{display:flex;justify-content:space-between;align-items:center}.class-feature-effect-number{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.class-feature-effect-remove{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:4px;transition:color .15s ease,background-color .15s ease}.class-feature-effect-remove:hover{color:var(--destructive);background:#cc33331a}.class-feature-effect-remove:disabled{opacity:.5;cursor:not-allowed}.class-feature-effect-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (max-width: 767px){.class-feature-effect-fields{grid-template-columns:1fr;gap:.375rem}}@media (max-width: 480px){.class-feature-abilities-grid{display:flex;flex-wrap:wrap;gap:.5rem}.class-feature-ability-input{display:flex;flex-direction:column;align-items:center;gap:.25rem}.class-feature-ability-input label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted)}.class-feature-ability-input input{width:50px;padding:.375rem;font-size:.875rem;text-align:center;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--color-text)}.class-feature-ability-input input:focus{outline:none;border-color:var(--ring)}.class-feature-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.class-feature-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.class-feature-error svg{flex-shrink:0;margin-top:.125rem}.class-feature-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.class-feature-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.class-feature-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.class-feature-preview-title svg{color:var(--cute-gold)}.class-feature-preview-content{display:flex;flex-direction:column;gap:.625rem}.class-feature-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.class-feature-preview-name{font-size:1.125rem;font-weight:700}.class-feature-preview-badges{display:flex;gap:.375rem}.class-feature-preview-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.class-feature-preview-badge-secondary{background:var(--color-bg-muted);color:var(--color-text-secondary)}.class-feature-preview-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.class-feature-preview-stat{white-space:nowrap}.class-feature-preview-stat strong{color:var(--color-text)}.class-feature-preview-description{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-top:.25rem;border-top:1px solid var(--border)}.class-feature-preview-effects,.class-feature-preview-prereqs{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.class-feature-preview-effects-label,.class-feature-preview-prereqs-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.class-feature-preview-effect{padding:.125rem .5rem;background:var(--cute-purple-bg);color:var(--cute-purple);border-radius:4px;font-size:.75rem;font-weight:500}.class-feature-preview-prereq{padding:.125rem .5rem;background:var(--cute-gold-bg, hsl(45 100% 50% / .15));color:var(--cute-gold, hsl(45 100% 40%));border-radius:4px;font-size:.75rem;font-weight:500}.class-feature-images-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.class-feature-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}@media (max-width: 767px){.class-feature-images-grid{gap:.75rem}}.class-feature-preview-name-row{display:flex;align-items:center;gap:.5rem}.class-feature-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.class-feature-preview-image{width:100%;max-height:200px;border-radius:6px;overflow:hidden;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.class-feature-preview-image img{max-width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain}@media (max-width: 767px){.class-feature-creator-form{width:100%;min-width:0;overflow:hidden}.class-feature-section-title,.class-feature-label{font-size:.75rem}.class-feature-input,.class-feature-select,.class-feature-textarea{font-size:.75rem;padding:.375rem .5rem}.class-feature-advanced-btn{font-size:.75rem}.class-feature-advanced-section,.class-feature-effect-item{padding:.5rem}.class-feature-effect-number{font-size:.6875rem}.class-feature-ability-input label{font-size:.625rem}.class-feature-ability-input input{width:40px;padding:.25rem;font-size:.75rem}.class-feature-errors{padding:.5rem}.class-feature-error{font-size:.75rem}.class-feature-preview{padding:.75rem}.class-feature-preview-title{font-size:.75rem}.class-feature-preview-name{font-size:1rem}.class-feature-preview-badge{font-size:.6875rem;padding:.125rem .375rem}.class-feature-preview-stats,.class-feature-preview-description{font-size:.75rem}.class-feature-preview-effect,.class-feature-preview-prereq{font-size:.6875rem;padding:.125rem .375rem}.class-feature-preview-effects-label,.class-feature-preview-prereqs-label,.class-feature-hint{font-size:.6875rem}.class-feature-actions{gap:.5rem}}.class-feature-actions{flex-direction:column}.class-feature-actions button{width:100%}.class-feature-preview-header{flex-direction:column;align-items:flex-start}.class-feature-preview-stats{flex-direction:column;gap:.25rem}}.racial-trait-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.racial-trait-section{display:flex;flex-direction:column;gap:.75rem}.racial-trait-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.racial-trait-section-title svg{color:var(--cute-purple)}.racial-trait-field{display:flex;flex-direction:column;gap:.375rem}.racial-trait-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.racial-trait-required{color:var(--destructive);margin-left:.125rem}.racial-trait-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.racial-trait-row{display:flex;gap:1rem}.racial-trait-row .racial-trait-field{flex:1}@media (max-width: 767px){.racial-trait-row{flex-direction:column}}.racial-trait-input,.racial-trait-select,.racial-trait-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.racial-trait-input:focus,.racial-trait-select:focus,.racial-trait-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.racial-trait-input::-moz-placeholder,.racial-trait-textarea::-moz-placeholder{color:var(--color-text-muted)}.racial-trait-input::placeholder,.racial-trait-textarea::placeholder{color:var(--color-text-muted)}.racial-trait-input:disabled,.racial-trait-select:disabled,.racial-trait-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.racial-trait-textarea{resize:vertical;min-height:100px}.racial-trait-images-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 767px){.racial-trait-images-grid{grid-template-columns:1fr;gap:.75rem}}@media (max-width: 600px){.racial-trait-hint{font-size:.75rem;color:var(--color-text-muted)}.racial-trait-locked-hint{color:var(--cute-purple)}.racial-trait-subrace-back-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;margin-top:.25rem;background:none;border:none;color:var(--cute-purple);font-size:.75rem;cursor:pointer;transition:color .15s ease}.racial-trait-subrace-back-btn:hover{color:var(--color-text)}.racial-trait-subrace-back-btn:disabled{opacity:.5;cursor:not-allowed}.racial-trait-id-row{display:flex;gap:.5rem;align-items:center}.racial-trait-id-row .racial-trait-input{flex:1}.racial-trait-checkbox-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.racial-trait-checkbox-label input[type=checkbox]{cursor:pointer}.racial-trait-advanced-toggle{margin-top:.25rem}.racial-trait-advanced-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.racial-trait-advanced-btn:hover{color:var(--color-text)}.racial-trait-advanced-btn:disabled{opacity:.5;cursor:not-allowed}.racial-trait-advanced-section{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.racial-trait-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.racial-trait-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.racial-trait-error svg{flex-shrink:0;margin-top:.125rem}.racial-trait-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.racial-trait-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.racial-trait-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.racial-trait-preview-title svg{color:var(--cute-gold)}.racial-trait-preview-content{display:flex;flex-direction:column;gap:.625rem}.racial-trait-preview-image{width:100%;max-height:200px;overflow:hidden;border-radius:6px;margin-bottom:.5rem}.racial-trait-preview-image img{width:100%;height:auto;max-height:200px;-o-object-fit:cover;object-fit:cover;border-radius:6px}.racial-trait-preview-name-row{display:flex;align-items:center;gap:.5rem}.racial-trait-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;border-radius:4px}.racial-trait-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.racial-trait-preview-name{font-size:1.125rem;font-weight:700;color:var(--cute-green, hsl(120 60% 40%))}.racial-trait-preview-badges{display:flex;gap:.375rem}.racial-trait-preview-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.racial-trait-preview-badge-race{background:var(--cute-green, hsl(120 60% 40%))}.racial-trait-preview-badge-subrace{background:var(--cute-purple)}.racial-trait-preview-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.racial-trait-preview-stat{white-space:nowrap}.racial-trait-preview-stat strong{color:var(--color-text)}.racial-trait-preview-description{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-top:.25rem;border-top:1px solid var(--border)}.racial-trait-preview-effects,.racial-trait-preview-prereqs{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.racial-trait-preview-effects-label,.racial-trait-preview-prereqs-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.racial-trait-preview-effect{padding:.125rem .5rem;background:var(--cute-purple-bg);color:var(--cute-purple);border-radius:4px;font-size:.75rem;font-weight:500}.racial-trait-preview-prereq{padding:.125rem .5rem;background:var(--cute-gold-bg, hsl(45 100% 50% / .15));color:var(--cute-gold, hsl(45 100% 40%));border-radius:4px;font-size:.75rem;font-weight:500}@media (max-width: 767px){.racial-trait-creator-form{width:100%;min-width:0;overflow:hidden}.racial-trait-section-title,.racial-trait-label{font-size:.75rem}.racial-trait-input,.racial-trait-select,.racial-trait-textarea{font-size:.75rem;padding:.375rem .5rem}.racial-trait-advanced-btn{font-size:.75rem}.racial-trait-advanced-section{padding:.5rem}.racial-trait-subrace-back-btn,.racial-trait-checkbox-label{font-size:.6875rem}.racial-trait-errors{padding:.5rem}.racial-trait-error{font-size:.75rem}.racial-trait-preview{padding:.75rem}.racial-trait-preview-title{font-size:.75rem}.racial-trait-preview-name{font-size:1rem}.racial-trait-preview-badge{font-size:.6875rem;padding:.125rem .375rem}.racial-trait-preview-stats,.racial-trait-preview-description{font-size:.75rem}.racial-trait-preview-effect,.racial-trait-preview-prereq{font-size:.6875rem;padding:.125rem .375rem}.racial-trait-preview-effects-label,.racial-trait-preview-prereqs-label,.racial-trait-hint{font-size:.6875rem}.racial-trait-preview-icon{width:20px;height:20px}.racial-trait-actions{gap:.5rem}}@media (max-width: 480px){.racial-trait-actions{flex-direction:column}.racial-trait-actions button{width:100%}.racial-trait-preview-header{flex-direction:column;align-items:flex-start}.racial-trait-preview-stats{flex-direction:column;gap:.25rem}}}.race-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.race-creator-section{display:flex;flex-direction:column;gap:.75rem}.race-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.race-creator-section-title svg{color:var(--cute-green, hsl(120 60% 40%))}.race-creator-field{display:flex;flex-direction:column;gap:.375rem}.race-creator-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.race-creator-required{color:var(--destructive);margin-left:.125rem}.race-creator-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.race-creator-input,.race-creator-select,.race-creator-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.race-creator-input:focus,.race-creator-select:focus,.race-creator-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.race-creator-input::-moz-placeholder,.race-creator-textarea::-moz-placeholder{color:var(--color-text-muted)}.race-creator-input::placeholder,.race-creator-textarea::placeholder{color:var(--color-text-muted)}.race-creator-input:disabled,.race-creator-select:disabled,.race-creator-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.race-creator-textarea{resize:vertical;min-height:80px}.race-creator-input-speed{width:100px}.race-creator-hint{font-size:.75rem;color:var(--color-text-muted)}.race-creator-abilities-grid{display:flex;flex-wrap:wrap;gap:.75rem}.race-creator-abilities-grid-subrace{gap:.5rem}.race-creator-ability-input{display:flex;flex-direction:column;align-items:center;gap:.25rem}.race-creator-ability-input label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted)}.race-creator-ability-input input{width:50px;padding:.375rem;font-size:.875rem;text-align:center;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--color-text)}.race-creator-ability-input input:focus{outline:none;border-color:var(--ring)}.race-creator-bonus-total{font-size:.8125rem;color:var(--color-text);margin-top:.25rem}.race-creator-bonus-warning{color:var(--cute-gold, hsl(45 100% 40%));font-size:.75rem;margin-left:.25rem}.race-creator-traits-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.race-creator-empty-message{font-size:.8125rem;color:var(--color-text-muted);font-style:italic;padding:.5rem}.race-creator-trait-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background-color .15s ease,border-color .15s ease}.race-creator-trait-option:hover{background:var(--color-bg-subtle)}.race-creator-trait-option input:checked+span{color:var(--cute-green, hsl(120 60% 40%));font-weight:500}.race-creator-trait-option:has(input:checked){border-color:var(--cute-green, hsl(120 60% 40%));background:#29a3291a}.race-creator-trait-option input{cursor:pointer}.race-creator-selected-traits{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:var(--color-bg-subtle);border-radius:6px}.race-creator-selected-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.race-creator-trait-tag{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--cute-green, hsl(120 60% 40%));color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.race-creator-trait-remove{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:#fff;cursor:pointer;opacity:.7;transition:opacity .15s ease}.race-creator-trait-remove:hover{opacity:1}.race-creator-advanced-toggle{margin-top:.25rem}.race-creator-advanced-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.race-creator-advanced-btn:hover{color:var(--color-text)}.race-creator-advanced-btn:disabled{opacity:.5;cursor:not-allowed}.race-creator-advanced-section{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.race-creator-subraces-hint{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.race-creator-subraces-list{display:flex;flex-direction:column;gap:.75rem}.race-creator-subrace-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--border)}.race-creator-subrace-header{display:flex;justify-content:space-between;align-items:center}.race-creator-subrace-number{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.race-creator-subrace-remove{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:4px;transition:color .15s ease,background-color .15s ease}.race-creator-subrace-remove:hover{color:var(--destructive);background:#cc33331a}.race-creator-subrace-remove:disabled{opacity:.5;cursor:not-allowed}.race-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.race-creator-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.race-creator-error svg{flex-shrink:0;margin-top:.125rem}.race-creator-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.race-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.race-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.race-creator-preview-title svg{color:var(--cute-gold)}.race-creator-preview-content{display:flex;flex-direction:column;gap:.625rem}.race-creator-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.race-creator-preview-name{font-size:1.125rem;font-weight:700;color:var(--cute-green, hsl(120 60% 40%))}.race-creator-preview-badges{display:flex;gap:.375rem}.race-creator-preview-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.race-creator-preview-badge-speed{background:var(--cute-blue, hsl(210 80% 50%))}.race-creator-preview-badge-traits{background:var(--cute-purple)}.race-creator-preview-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.race-creator-preview-stat{white-space:nowrap}.race-creator-preview-stat strong{color:var(--color-text)}.race-creator-preview-description{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-top:.25rem;border-top:1px solid var(--border)}.race-creator-preview-traits{display:flex;flex-wrap:wrap;gap:.375rem;padding-top:.25rem;border-top:1px solid var(--border)}.race-creator-preview-trait{padding:.125rem .5rem;background:#29a32926;color:var(--cute-green, hsl(120 60% 40%));border-radius:4px;font-size:.75rem;font-weight:500}.race-creator-preview-subraces{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding-top:.25rem;border-top:1px solid var(--border)}.race-creator-preview-subraces-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.race-creator-preview-subrace{padding:.125rem .5rem;background:var(--cute-gold-bg, hsl(45 100% 50% / .15));color:var(--cute-gold, hsl(45 100% 40%));border-radius:4px;font-size:.75rem;font-weight:500}.race-creator-images-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.race-creator-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}.race-creator-preview-name-row{display:flex;align-items:center;gap:.5rem}.race-creator-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.race-creator-preview-image{width:100%;max-height:200px;border-radius:6px;overflow:hidden;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.race-creator-preview-image img{max-width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain}@media (max-width: 767px){.race-creator-form{width:100%;min-width:0;overflow:hidden}.race-creator-section-title,.race-creator-label{font-size:.75rem}.race-creator-input,.race-creator-select,.race-creator-textarea{font-size:.75rem;padding:.375rem .5rem}.race-creator-abilities-grid{gap:.5rem}.race-creator-abilities-grid-subrace{gap:.375rem}.race-creator-ability-input input{width:40px;padding:.25rem;font-size:.75rem}.race-creator-ability-input label{font-size:.625rem}.race-creator-bonus-total{font-size:.75rem}.race-creator-bonus-warning{font-size:.6875rem}.race-creator-traits-grid{gap:.375rem}.race-creator-trait-option{padding:.25rem .5rem;font-size:.75rem}.race-creator-trait-tag{font-size:.6875rem;padding:.25rem .375rem}.race-creator-selected-traits{padding:.375rem}.race-creator-selected-label{font-size:.6875rem}.race-creator-subraces-hint{font-size:.75rem}.race-creator-subrace-item{padding:.5rem}.race-creator-subrace-number{font-size:.6875rem}.race-creator-errors{padding:.5rem}.race-creator-error{font-size:.75rem}.race-creator-preview{padding:.75rem}.race-creator-preview-title{font-size:.75rem}.race-creator-preview-name{font-size:1rem}.race-creator-preview-badge{font-size:.6875rem;padding:.125rem .375rem}.race-creator-preview-stats,.race-creator-preview-description{font-size:.75rem}.race-creator-preview-trait,.race-creator-preview-subrace{font-size:.6875rem;padding:.125rem .375rem}.race-creator-preview-subraces-label,.race-creator-hint{font-size:.6875rem}.race-creator-empty-message{font-size:.75rem}.race-creator-actions{gap:.5rem}.race-creator-images-grid{gap:.75rem}}@media (max-width: 600px){.race-creator-abilities-grid{gap:.5rem}.race-creator-ability-input input{width:40px}.race-creator-traits-grid{gap:.375rem}.race-creator-trait-option{padding:.25rem .5rem;font-size:.75rem}.race-creator-actions{flex-direction:column}.race-creator-actions button{width:100%}.race-creator-preview-header{flex-direction:column;align-items:flex-start}.race-creator-preview-stats{flex-direction:column;gap:.25rem}}.class-creator-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.class-creator-section{display:flex;flex-direction:column;gap:.75rem}.class-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.class-creator-section-title svg{color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-field{display:flex;flex-direction:column;gap:.375rem}.class-creator-field-inline{flex:1}.class-creator-label{font-size:.8125rem;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.class-creator-required{color:var(--destructive);margin-left:.125rem}.class-creator-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.class-creator-count{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.5rem}.class-creator-input,.class-creator-select,.class-creator-textarea{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.class-creator-input:focus,.class-creator-select:focus,.class-creator-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.class-creator-input::-moz-placeholder,.class-creator-textarea::-moz-placeholder{color:var(--color-text-muted)}.class-creator-input::placeholder,.class-creator-textarea::placeholder{color:var(--color-text-muted)}.class-creator-input:disabled,.class-creator-select:disabled,.class-creator-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.class-creator-textarea{resize:vertical;min-height:80px}.class-creator-input-number{width:80px;text-align:center}.class-creator-row{display:flex;gap:1rem;flex-wrap:wrap}.class-creator-hint{font-size:.75rem;color:var(--color-text-muted)}.class-creator-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-saving-throws-grid{display:flex;flex-wrap:wrap;gap:.5rem}.class-creator-saving-throw{padding:.5rem 1rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--color-text);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.class-creator-saving-throw:hover:not(:disabled){background:var(--color-bg-subtle);border-color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-saving-throw.selected{background:#9933cc26;border-color:var(--cute-purple, hsl(280 60% 50%));color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-saving-throw:disabled{opacity:.4;cursor:not-allowed}.class-creator-skills-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-creator-skill-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background-color .15s ease,border-color .15s ease}.class-creator-skill-option:hover{background:var(--color-bg-subtle)}.class-creator-skill-option input:checked+span{color:var(--cute-purple, hsl(280 60% 50%));font-weight:500}.class-creator-skill-option:has(input:checked){border-color:var(--cute-purple, hsl(280 60% 50%));background:#9933cc1a}.class-creator-skill-option input{cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-expertise-count{margin-left:.5rem}.class-creator-advanced-toggle{margin-top:.25rem}.class-creator-advanced-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.class-creator-advanced-btn:hover{color:var(--color-text)}.class-creator-advanced-btn:disabled{opacity:.5;cursor:not-allowed}.class-creator-advanced-section{display:flex;flex-direction:column;gap:1rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-creator-audio-hint{font-size:.8125rem;color:var(--color-text);line-height:1.5;padding:.75rem;background:var(--input-bg);border-radius:6px;border-left:3px solid var(--cute-purple, hsl(280 60% 50%))}.class-creator-audio-hint strong{color:var(--color-text);font-weight:600}.class-creator-audio-example{font-size:.75rem;color:var(--color-text-muted);line-height:1.5;padding:.5rem .75rem;background:var(--color-bg-subtle);border-radius:4px;border-left:2px solid var(--cute-gold, hsl(45 100% 40%));font-style:italic}.class-creator-audio-example strong{color:var(--cute-gold, hsl(45 100% 40%));font-weight:600}.class-creator-audio-weights{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.class-creator-weight-sliders{display:flex;flex-direction:column;gap:.5rem}.class-creator-weight-slider{display:flex;align-items:center;gap:.75rem}.class-creator-weight-label{width:80px;font-size:.8125rem;color:var(--color-text);text-transform:capitalize}.class-creator-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--cute-purple, hsl(280 60% 50%));cursor:pointer}.class-creator-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--cute-purple, hsl(280 60% 50%));cursor:pointer;border:none}.class-creator-slider:disabled{opacity:.5;cursor:not-allowed}.class-creator-weight-value{width:40px;font-size:.8125rem;color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.class-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.class-creator-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.class-creator-error svg{flex-shrink:0;margin-top:.125rem}.class-creator-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.class-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.class-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.class-creator-preview-title svg{color:var(--cute-gold)}.class-creator-preview-content{display:flex;flex-direction:column;gap:.625rem}.class-creator-preview-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.class-creator-preview-name{font-size:1.125rem;font-weight:700;color:var(--cute-purple, hsl(280 60% 50%))}.class-creator-preview-badges{display:flex;gap:.375rem;flex-wrap:wrap}.class-creator-preview-badge{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff}.class-creator-preview-badge-hitdie{background:var(--cute-blue, hsl(210 80% 50%))}.class-creator-preview-badge-spellcaster{background:var(--cute-purple, hsl(280 60% 50%))}.class-creator-preview-badge-template{background:var(--cute-green, hsl(120 60% 40%))}.class-creator-preview-stats{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8125rem;color:var(--color-text-muted)}.class-creator-preview-stat{white-space:nowrap}.class-creator-preview-stat strong{color:var(--color-text)}.class-creator-preview-description{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-top:.25rem;border-top:1px solid var(--border)}.class-creator-preview-skills{display:flex;flex-wrap:wrap;gap:.375rem;padding-top:.25rem;border-top:1px solid var(--border);align-items:center}.class-creator-preview-skills-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.class-creator-preview-skill{padding:.125rem .5rem;background:#9933cc26;color:var(--cute-purple, hsl(280 60% 50%));border-radius:4px;font-size:.75rem;font-weight:500}.class-creator-preview-more{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.class-creator-preview-audio{display:flex;flex-wrap:wrap;gap:.375rem;padding-top:.25rem;border-top:1px solid var(--border);align-items:center}.class-creator-preview-audio-label{font-size:.75rem;color:var(--color-text-muted);margin-right:.25rem}.class-creator-preview-audio-trait{padding:.125rem .5rem;background:var(--cute-gold-bg, hsl(45 100% 50% / .15));color:var(--cute-gold, hsl(45 100% 40%));border-radius:4px;font-size:.75rem;font-weight:500}.class-creator-images-grid{display:flex;flex-direction:column;gap:1rem}@media (min-width: 600px){.class-creator-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}}.class-creator-preview-name-row{display:flex;align-items:center;gap:.5rem}.class-creator-preview-icon{width:24px;height:24px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.class-creator-preview-image{width:100%;max-height:200px;border-radius:6px;overflow:hidden;background:var(--color-bg-subtle);display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.class-creator-preview-image img{max-width:100%;max-height:200px;-o-object-fit:contain;object-fit:contain}@media (max-width: 600px){.class-creator-row{flex-direction:column;gap:.75rem}.class-creator-saving-throws-grid{gap:.375rem}.class-creator-saving-throw{padding:.375rem .75rem;font-size:.75rem}.class-creator-skills-grid{gap:.375rem}.class-creator-skill-option{padding:.25rem .5rem;font-size:.75rem}.class-creator-actions{flex-direction:column}.class-creator-actions button{width:100%}.class-creator-preview-header{flex-direction:column;align-items:flex-start}.class-creator-preview-stats{flex-direction:column;gap:.25rem}.class-creator-weight-slider{flex-wrap:wrap}.class-creator-weight-label{width:100%}.class-creator-slider{flex:1;min-width:150px}}.class-config-form{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.class-config-tabs{display:flex;gap:.5rem;padding:.5rem;background:var(--color-bg-subtle);border-radius:6px;margin-bottom:.5rem}.class-config-tab{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.class-config-tab:hover:not(:disabled){background:var(--color-bg-subtle-hover, hsl(0 0% 0% / .05));color:var(--color-text)}.class-config-tab-active{background:var(--card);border-color:var(--border);color:var(--cute-purple, hsl(280 60% 50%))}.class-config-tab:disabled{opacity:.5;cursor:not-allowed}.class-config-tab-content{display:flex;flex-direction:column;gap:1rem}.class-config-description{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.class-config-field{display:flex;flex-direction:column;gap:.375rem}.class-config-field-inline{flex:1}.class-config-label{font-size:.8125rem;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.class-config-required{color:var(--destructive);margin-left:.125rem}.class-config-count{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.5rem}.class-config-input,.class-config-select{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.class-config-input:focus,.class-config-select:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.class-config-input::-moz-placeholder{color:var(--color-text-muted)}.class-config-input::placeholder{color:var(--color-text-muted)}.class-config-input:disabled,.class-config-select:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.class-config-input-number{width:80px;text-align:center}.class-config-row{display:flex;gap:1rem;flex-wrap:wrap}.class-config-hint{font-size:.75rem;color:var(--color-text-muted)}.class-config-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-config-skills-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;max-height:250px;overflow-y:auto;padding:.5rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-config-skill-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background-color .15s ease,border-color .15s ease}.class-config-skill-option:hover{background:var(--color-bg-subtle)}.class-config-skill-option input:checked+span{color:var(--cute-purple, hsl(280 60% 50%));font-weight:500}.class-config-skill-option:has(input:checked){border-color:var(--cute-purple, hsl(280 60% 50%));background:#9933cc1a}.class-config-skill-option input{cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-config-spells-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;max-height:200px;overflow-y:auto;padding:.5rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-config-spell-option{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);cursor:pointer;font-size:.8125rem;color:var(--color-text);transition:background-color .15s ease,border-color .15s ease}.class-config-spell-option:hover{background:var(--color-bg-subtle)}.class-config-spell-option input:checked+span{color:var(--cute-purple, hsl(280 60% 50%));font-weight:500}.class-config-spell-option:has(input:checked){border-color:var(--cute-purple, hsl(280 60% 50%));background:#9933cc1a}.class-config-spell-option input{cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-config-expertise-count{margin-left:.5rem}.class-config-advanced{margin-top:.5rem}.class-config-advanced-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:var(--color-text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:color .15s ease}.class-config-advanced-toggle:hover{color:var(--color-text)}.class-config-advanced-toggle:disabled{opacity:.5;cursor:not-allowed}.class-config-weights-grid{display:flex;flex-direction:column;gap:.375rem;padding:.75rem;background:var(--color-bg-subtle);border-radius:6px;border:1px solid var(--border)}.class-config-weight-row{display:flex;align-items:center;gap:.75rem}.class-config-weight-skill{width:120px;font-size:.8125rem;color:var(--color-text)}.class-config-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;cursor:pointer;accent-color:var(--cute-purple, hsl(280 60% 50%))}.class-config-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--cute-purple, hsl(280 60% 50%));cursor:pointer}.class-config-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--cute-purple, hsl(280 60% 50%));cursor:pointer;border:none}.class-config-weight-value{width:40px;font-size:.8125rem;color:var(--color-text-muted);text-align:right;font-variant-numeric:tabular-nums}.class-config-slots-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--color-bg-subtle)}.class-config-slots-table{width:100%;border-collapse:collapse;font-size:.8125rem}.class-config-slots-table th,.class-config-slots-table td{padding:.375rem .5rem;text-align:center;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.class-config-slots-table th:last-child,.class-config-slots-table td:last-child{border-right:none}.class-config-slots-table tr:last-child td{border-bottom:none}.class-config-slots-table th{background:var(--color-bg-muted);font-weight:600;color:var(--color-text)}.class-config-slots-level{font-weight:600;background:var(--color-bg-muted)}.class-config-slot-input{width:40px;padding:.25rem;text-align:center;font-size:.75rem;border:1px solid var(--border);border-radius:3px;background:var(--input-bg);color:var(--color-text)}.class-config-slot-input:focus{outline:none;border-color:var(--ring)}.class-config-equipment-row{display:flex;gap:.5rem;margin-bottom:.5rem}.class-config-equipment-row .class-config-input{flex:1}.class-config-remove-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;border:1px solid var(--destructive);border-radius:4px;background:transparent;color:var(--destructive);cursor:pointer;transition:background-color .15s ease}.class-config-remove-btn:hover:not(:disabled){background:#cc33331a}.class-config-remove-btn:disabled{opacity:.5;cursor:not-allowed}.class-config-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.class-config-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.class-config-error svg{flex-shrink:0;margin-top:.125rem}.class-config-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}@media (max-width: 767px){.class-config-form{width:100%;min-width:0;overflow:hidden}.class-config-tabs{flex-wrap:wrap;gap:.375rem;padding:.375rem}.class-config-tab{padding:.375rem .625rem;font-size:.75rem}.class-config-label{font-size:.75rem}.class-config-input,.class-config-select{font-size:.75rem;padding:.375rem .5rem}.class-config-row{flex-direction:column;gap:.75rem}.class-config-skills-grid,.class-config-spells-grid{gap:.375rem;padding:.375rem}.class-config-skill-option,.class-config-spell-option{padding:.25rem .5rem;font-size:.75rem}.class-config-slots-table-wrapper{font-size:.75rem}.class-config-slots-table th,.class-config-slots-table td{padding:.25rem .375rem}.class-config-slot-input{width:32px;padding:.125rem;font-size:.6875rem}.class-config-actions{flex-direction:column;gap:.5rem}.class-config-actions button{width:100%}.class-config-weight-row{flex-wrap:wrap}.class-config-weight-skill{width:100%;font-size:.75rem}.class-config-slider{flex:1;min-width:120px}.class-config-section-title,.class-config-description{font-size:.75rem}.class-config-hint{font-size:.6875rem}.class-config-errors{padding:.5rem}.class-config-error{font-size:.75rem}.class-config-input-number{width:60px}}@media (max-width: 480px){.class-config-tabs{flex-wrap:wrap}.class-config-tab{padding:.375rem .625rem;font-size:.75rem}.class-config-row{flex-direction:column;gap:.75rem}.class-config-skills-grid,.class-config-spells-grid{gap:.375rem;padding:.375rem}.class-config-skill-option,.class-config-spell-option{padding:.25rem .5rem;font-size:.75rem}.class-config-slots-table-wrapper{font-size:.75rem}.class-config-slot-input{width:32px;padding:.125rem;font-size:.6875rem}.class-config-actions{flex-direction:column}.class-config-actions button{width:100%}.class-config-weight-row{flex-wrap:wrap}.class-config-weight-skill{width:100%}.class-config-slider{flex:1;min-width:120px}}.dataviewer-tab{display:flex;flex-direction:column;gap:1.5rem;width:100%}.dataviewer-new-items-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,hsl(var(--cute-yellow) / .15),hsl(var(--cute-yellow) / .05));border:1px solid hsl(var(--cute-yellow) / .3);border-radius:var(--radius-md);color:hsl(var(--cute-yellow));font-weight:600;font-size:.875rem;animation:dataviewerNewItemsFadeIn .3s ease-out}@keyframes dataviewerNewItemsFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dataviewer-header{display:flex;align-items:center;gap:.75rem;padding-bottom:.5rem}.dataviewer-header-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);color:var(--color-on-primary)}.dataviewer-header-text{flex:1}.dataviewer-header-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.dataviewer-header-subtitle{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text-secondary)}.dataviewer-category-card{padding:.75rem}.dataviewer-category-selector{display:flex;flex-wrap:wrap;gap:.5rem}.dataviewer-category-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.dataviewer-category-btn:hover{background:var(--color-surface-elevated);border-color:var(--color-primary);color:var(--color-text-primary)}.dataviewer-category-btn-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.dataviewer-category-btn-active:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.dataviewer-category-label{display:none}@media (min-width: 640px){.dataviewer-category-label{display:inline}}.dataviewer-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:var(--color-surface-dim);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.dataviewer-category-btn-active .dataviewer-category-count{background:#fff3}.dataviewer-search{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.dataviewer-search-icon{color:var(--color-text-secondary);flex-shrink:0}.dataviewer-search-input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--color-text-primary);outline:none}.dataviewer-search-input::-moz-placeholder{color:var(--color-text-secondary)}.dataviewer-search-input::placeholder{color:var(--color-text-secondary)}.dataviewer-search-count{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.dataviewer-content-card{overflow:hidden}.dataviewer-content-header{padding:1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-dim)}.dataviewer-content-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.dataviewer-content-count{font-size:.875rem;font-weight:400;color:var(--color-text-secondary)}.dataviewer-content-body{padding:1rem}.dataviewer-filters{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem;background:var(--color-surface-dim);border-radius:var(--radius-md);margin-bottom:1rem}.dataviewer-filter-group{display:flex;flex-direction:column;gap:.375rem;min-width:150px}.dataviewer-filter-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dataviewer-filter-select{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease}.dataviewer-filter-select:focus{outline:none;border-color:var(--color-primary)}.dataviewer-list{display:flex;flex-direction:column;gap:1rem}.dataviewer-items{display:flex;flex-direction:column;gap:.75rem}.dataviewer-grid{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 640px){.dataviewer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.dataviewer-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.dataviewer-item-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease;overflow-anchor:none}.dataviewer-item-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.dataviewer-item-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dataviewer-item-header-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.dataviewer-item-name{font-size:.9375rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataviewer-item-badges{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.dataviewer-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff}.dataviewer-badge-secondary{background:var(--color-surface-dim);color:var(--color-text-secondary)}.dataviewer-badge-small{padding:.125rem .375rem;font-size:.625rem}.dataviewer-badge-subrace{background:hsl(var(--cute-purple) / .2);color:hsl(var(--cute-purple))}.dataviewer-badge-gameonly{background:#d9262626;color:#d92626;border:1px solid hsl(0 70% 50% / .3)}.dataviewer-badge-rare-spawn{background:#7f33cc26;color:#7f33cc;border:1px solid hsl(270 60% 50% / .3)}.dataviewer-badge-uncommon-spawn{background:#1980e626;color:#1980e6;border:1px solid hsl(210 80% 50% / .3)}.dataviewer-item-details{padding:0 1rem 1rem;border-top:1px solid var(--color-border);overflow-anchor:none}.dataviewer-item-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;padding:.75rem 0}.dataviewer-item-stat{display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.dataviewer-item-stat-label{color:var(--color-text-secondary)}.dataviewer-item-stat-value{color:var(--color-text-primary);font-weight:500}.dataviewer-item-description{padding:.75rem;background:var(--color-surface);border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary)}.dataviewer-item-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding-top:.75rem}.dataviewer-item-tags-label{font-size:.75rem;color:var(--color-text-secondary);margin-right:.25rem}.dataviewer-tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--color-surface-dim);border-radius:var(--radius-full);font-size:.75rem;color:var(--color-text-secondary)}.dataviewer-tag-with-icon{gap:.25rem}.dataviewer-tag-icon{flex-shrink:0;opacity:.8}.dataviewer-tag-small{padding:.125rem .375rem;font-size:.6875rem}.dataviewer-tag-skill{background:#29a32926;color:#29a329;border:1px solid hsl(120 60% 40% / .3)}.dataviewer-tag-spell{background:#7f33cc26;color:#7f33cc;border:1px solid hsl(270 60% 50% / .3)}.dataviewer-tag-feature{background:#1980e626;color:#1980e6;border:1px solid hsl(210 80% 50% / .3)}.dataviewer-tag-label{background:#f2800d1f;color:#b86614;border:1px solid hsl(30 90% 50% / .25)}.dataviewer-tag-property{background:#29a3a31f;color:#248f8f;border:1px solid hsl(180 60% 40% / .25)}.dataviewer-tag-condition{background:#f2800d26;color:#cf7317;border:1px solid hsl(30 90% 50% / .3)}.dataviewer-item-section{padding-top:.75rem;border-top:1px solid var(--color-border);margin-top:.5rem}.dataviewer-item-section:first-child{padding-top:0;border-top:none;margin-top:0}.dataviewer-item-section-title{display:block;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.dataviewer-grouped-list{display:flex;flex-direction:column;gap:1.5rem}.dataviewer-group{display:flex;flex-direction:column;gap:.5rem}.dataviewer-group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .15s ease;border-radius:var(--radius-sm);margin:0 -.5rem}.dataviewer-group-header:hover{background:var(--color-surface-dim)}.dataviewer-group-header-chevron{color:var(--color-text-secondary);transition:transform .2s ease;flex-shrink:0}.dataviewer-group-header-chevron-collapsed{transform:rotate(-90deg)}.dataviewer-group-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.dataviewer-group-count{font-size:.875rem;color:var(--color-text-secondary)}.dataviewer-group-items{display:flex;flex-direction:column;gap:.375rem}.dataviewer-group-items-collapsed{display:none}.dataviewer-group-controls{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem}.dataviewer-group-controls-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.dataviewer-group-controls-btn:hover{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-text-primary)}.dataviewer-group-controls-btn svg{width:14px;height:14px}.dataviewer-group-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .875rem;background:var(--color-surface-dim);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease;overflow-anchor:none}.dataviewer-group-item:hover{border-color:var(--color-primary);background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 2))}.dataviewer-group-item-header{display:flex;align-items:center;gap:.5rem;flex:1}.dataviewer-group-item-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.dataviewer-group-item-type{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.dataviewer-group-item-tags{display:flex;flex-wrap:wrap;gap:.25rem}.dataviewer-group-item-expandable{cursor:pointer;flex-direction:column;align-items:flex-start;overflow-anchor:none}.dataviewer-group-item-expandable:hover{background:hsl(var(--color-surface-h) var(--color-surface-s) calc(var(--color-surface-l) + 3))}.dataviewer-group-item-details{width:100%;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border);overflow-anchor:none}.dataviewer-item-actions{display:flex;align-items:center;justify-content:flex-end;margin-top:.75rem;padding-top:.5rem}.dataviewer-effects-list{display:flex;flex-wrap:wrap;gap:.375rem}.dataviewer-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;transition:all .2s ease;overflow-anchor:none}.dataviewer-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #0000001a}.dataviewer-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dataviewer-card-header-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.dataviewer-card-icon{color:var(--color-primary);flex-shrink:0}.dataviewer-card-title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dataviewer-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:0 1rem .75rem}.dataviewer-card-stat{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-secondary)}.dataviewer-card-stat-spellcaster{color:hsl(var(--cute-yellow))}.dataviewer-card-details{padding:.75rem 1rem;border-top:1px solid var(--color-border);background:var(--color-surface-dim);overflow-anchor:none}.dataviewer-card-section{display:flex;flex-direction:column;gap:.375rem;padding:.5rem 0}.dataviewer-card-section:first-child{padding-top:0}.dataviewer-card-section:last-child{padding-bottom:0}.dataviewer-card-section-title{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.dataviewer-card-bonuses{display:flex;flex-wrap:wrap;gap:.5rem}.dataviewer-card-bonus{font-size:.8125rem;font-weight:500}.dataviewer-card-tags{display:flex;flex-wrap:wrap;gap:.375rem}.dataviewer-card-ability{font-size:.875rem;font-weight:600}.dataviewer-card-text{font-size:.8125rem;color:var(--color-text-secondary)}.dataviewer-item-thumbnail{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-sm);overflow:hidden;margin-right:.5rem}.dataviewer-item-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dataviewer-item-thumbnail-small{width:28px;height:28px}.dataviewer-item-thumbnail-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dim);color:var(--color-text-tertiary)}.dataviewer-item-thumbnail-fallback-small{width:28px;height:28px}.dataviewer-item-thumbnail-fallback svg{width:20px;height:20px}.dataviewer-item-thumbnail-fallback-small svg{width:14px;height:14px}.dataviewer-card-thumbnail{flex-shrink:0;width:32px;height:32px;border-radius:var(--radius-sm);overflow:hidden;margin-right:.25rem}.dataviewer-card-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.dataviewer-card-thumbnail-fallback{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dim);color:var(--color-text-tertiary)}.dataviewer-card-thumbnail-fallback svg{width:16px;height:16px}.dataviewer-item-image{margin-bottom:.75rem;border-radius:var(--radius-md);overflow:hidden;display:flex;justify-content:center}.dataviewer-item-image img{max-width:200px;max-height:200px;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover}.dataviewer-card-image{margin-bottom:.5rem;border-radius:var(--radius-md);overflow:hidden;display:flex;justify-content:center}.dataviewer-card-image img{max-width:180px;max-height:180px;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover}.dataviewer-item-image-fallback,.dataviewer-card-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-dim);color:var(--color-text-tertiary)}.dataviewer-item-image-fallback svg,.dataviewer-card-image-fallback svg{width:48px;height:48px}.dataviewer-subraces-container{display:flex;flex-direction:column;gap:.75rem}.dataviewer-subrace-section{padding:.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.dataviewer-subrace-section:hover{border-color:hsl(var(--cute-purple) / .4);background:hsl(var(--cute-purple) / .03)}.dataviewer-subrace-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.dataviewer-subrace-name{font-size:.875rem;font-weight:600;color:hsl(var(--cute-purple))}.dataviewer-subrace-content{display:flex;flex-direction:column;gap:.5rem}.dataviewer-subrace-no-data{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.dataviewer-subrace-bonuses{display:flex;flex-wrap:wrap;gap:.5rem}.dataviewer-subrace-bonus{font-size:.8125rem;font-weight:500}.dataviewer-subrace-traits{display:flex;flex-direction:column;gap:.25rem}.dataviewer-subrace-traits-label{font-size:.75rem;color:var(--color-text-secondary)}.dataviewer-subrace-traits-list{display:flex;flex-wrap:wrap;gap:.375rem}.dataviewer-tag-subrace-trait{background:hsl(var(--cute-purple) / .12);color:hsl(var(--cute-purple));border:1px solid hsl(var(--cute-purple) / .25)}.dataviewer-subrace-requirements{display:flex;flex-direction:column;gap:.25rem}.dataviewer-subrace-requirements-label{font-size:.75rem;color:#d92626}.dataviewer-subrace-requirements-list{display:flex;flex-wrap:wrap;gap:.375rem}.dataviewer-tag-requirement{background:#d926261f;color:#c32222;border:1px solid hsl(0 70% 50% / .25)}.dataviewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--color-text-secondary)}.dataviewer-loading-icon{animation:spin 1s linear infinite}.dataviewer-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 2rem;text-align:center}.dataviewer-error-title{font-size:1rem;font-weight:600;color:hsl(var(--color-destructive-h) var(--color-destructive-s) var(--color-destructive-l))}.dataviewer-error-message{font-size:.875rem;color:var(--color-text-secondary)}.dataviewer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center}.dataviewer-empty-icon{color:var(--color-text-secondary);opacity:.5}.dataviewer-empty-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.dataviewer-empty-message{font-size:.875rem;color:var(--color-text-secondary)}.dataviewer-json-dump{margin-top:.5rem}@media (max-width: 767px){.dataviewer-tab{width:100%;min-width:0;overflow:hidden}.dataviewer-category-selector{justify-content:center}.dataviewer-category-btn{padding:.5rem;font-size:.75rem}.dataviewer-filter-group{min-width:140px;flex:1 1 calc(50% - .5rem)}.dataviewer-filter-select{font-size:.75rem;padding:.375rem .5rem}.dataviewer-item-stats{grid-template-columns:1fr;gap:.375rem}.dataviewer-group-item{flex-direction:column;align-items:flex-start;gap:.5rem}.dataviewer-group-item-header{width:100%}.dataviewer-item-card,.dataviewer-card{font-size:.8125rem}.dataviewer-item-name,.dataviewer-card-title,.dataviewer-content-title{font-size:.875rem}.dataviewer-section-header{font-size:.75rem}.dataviewer-creator-title{font-size:.875rem}.dataviewer-filters{gap:.75rem;padding:.5rem}}@media (max-width: 480px){.dataviewer-header{flex-direction:column;align-items:flex-start;gap:.5rem}.dataviewer-search{flex-wrap:wrap}.dataviewer-search-count{width:100%;text-align:right}.dataviewer-filters{flex-direction:column;gap:.75rem}.dataviewer-filter-group{width:100%;min-width:unset;flex:unset}.dataviewer-filter-select{width:100%}.dataviewer-item-tags{flex-direction:column;align-items:flex-start;gap:.25rem}.dataviewer-item-tags-label{margin-bottom:.25rem}.dataviewer-tag{font-size:.6875rem;padding:.2rem .4rem}.dataviewer-item-section{padding-top:.5rem}.dataviewer-item-section-title{font-size:.6875rem}.dataviewer-effects-list{gap:.25rem}.dataviewer-subrace-section{padding:.5rem}.dataviewer-subrace-header{flex-wrap:wrap;gap:.25rem}.dataviewer-subrace-name{font-size:.8125rem}.dataviewer-subrace-bonuses,.dataviewer-subrace-traits-list,.dataviewer-subrace-requirements-list{gap:.25rem}.dataviewer-subrace-bonus{font-size:.75rem}.dataviewer-card-bonuses{gap:.25rem}.dataviewer-card-bonus{font-size:.75rem}.dataviewer-item-badges{flex-wrap:wrap;justify-content:flex-end}.dataviewer-badge{font-size:.5625rem;padding:.2rem .35rem}}.dataviewer-appearance-options{display:flex;flex-wrap:wrap;gap:.5rem}.dataviewer-appearance-option-custom{cursor:pointer}.dataviewer-appearance-option-custom:hover{background:hsl(var(--cute-purple) / .08);border-color:hsl(var(--cute-purple) / .3)}.dataviewer-appearance-option-custom.dataviewer-appearance-color:hover{border-color:hsl(var(--cute-purple) / .4);box-shadow:0 2px 6px #0000001a}.dataviewer-tag-appearance{background:hsl(var(--cute-purple) / .12);color:hsl(var(--cute-purple));border:1px solid hsl(var(--cute-purple) / .25)}.dataviewer-appearance-color{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease}.dataviewer-appearance-color:hover{border-color:var(--color-primary);box-shadow:0 1px 4px #0000001a}.dataviewer-color-swatch{width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0}.dataviewer-color-value{font-size:.75rem;font-family:var(--font-mono, monospace);color:var(--color-text-secondary)}.dataviewer-appearance-selected{background:hsl(var(--cute-purple) / .1);border-color:hsl(var(--cute-purple) / .5)!important;box-shadow:0 0 0 2px hsl(var(--cute-purple) / .2)}.dataviewer-appearance-selected.dataviewer-appearance-option{background:hsl(var(--cute-purple) / .1);border:1px solid hsl(var(--cute-purple) / .5);border-radius:var(--radius-md);padding:.25rem .5rem}.dataviewer-appearance-option-actions{display:flex;align-items:center;gap:.25rem;margin-left:.5rem;animation:appearanceActionsFadeIn .15s ease-out}@keyframes appearanceActionsFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dataviewer-appearance-option-actions .dataviewer-delete-btn:hover{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.dataviewer-section-header{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:1rem;padding:0 .25rem}.dataviewer-creator-card{margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);animation:dataviewerCreatorFadeIn .2s ease-out}@keyframes dataviewerCreatorFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dataviewer-creator-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.dataviewer-creator-title svg{color:var(--color-primary)}.dataviewer-appearance-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.dataviewer-appearance-creator{margin-bottom:1rem;animation:dataviewerAppearanceCreatorFadeIn .2s ease-out}@keyframes dataviewerAppearanceCreatorFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.appearance-option-creator{display:flex;flex-direction:column;gap:1.25rem;padding:1rem;background:var(--card);border-radius:8px;border:1px solid var(--border)}.appearance-creator-section{display:flex;flex-direction:column;gap:.75rem}.appearance-creator-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.875rem;font-weight:600;color:var(--color-text)}.appearance-creator-section-title svg{color:var(--cute-purple)}.appearance-creator-field{display:flex;flex-direction:column;gap:.375rem}.appearance-creator-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.appearance-creator-required{color:var(--destructive);margin-left:.125rem}.appearance-creator-optional{color:var(--color-text-muted);font-weight:400;font-size:.75rem;margin-left:.25rem}.appearance-creator-input,.appearance-creator-select,.appearance-creator-hex-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.appearance-creator-input:focus,.appearance-creator-select:focus,.appearance-creator-hex-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-ring)}.appearance-creator-input::-moz-placeholder,.appearance-creator-hex-input::-moz-placeholder{color:var(--color-text-muted)}.appearance-creator-input::placeholder,.appearance-creator-hex-input::placeholder{color:var(--color-text-muted)}.appearance-creator-input:disabled,.appearance-creator-select:disabled,.appearance-creator-hex-input:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-muted)}.appearance-creator-hint{font-size:.75rem;color:var(--color-text-muted)}.appearance-creator-color-section{display:flex;flex-direction:column;gap:1rem}.appearance-creator-color-inputs{display:flex;align-items:center;gap:.75rem}.appearance-creator-color-picker{width:48px;height:48px;padding:0;border:2px solid var(--border);border-radius:8px;cursor:pointer;background:transparent;overflow:hidden}.appearance-creator-color-picker::-webkit-color-swatch-wrapper{padding:0}.appearance-creator-color-picker::-webkit-color-swatch{border:none;border-radius:6px}.appearance-creator-color-picker::-moz-color-swatch{border:none;border-radius:6px}.appearance-creator-color-picker:hover{border-color:var(--ring)}.appearance-creator-color-picker:disabled{opacity:.6;cursor:not-allowed}.appearance-creator-hex-input{flex:1;font-family:SF Mono,Fira Code,monospace;text-transform:uppercase;letter-spacing:.05em}.appearance-creator-color-preview{display:flex;flex-direction:column;gap:.5rem}.appearance-creator-color-swatch-large{display:flex;align-items:center;justify-content:center;width:100%;min-height:60px;border-radius:8px;font-family:SF Mono,Fira Code,monospace;font-size:.875rem;font-weight:600;letter-spacing:.05em;border:1px solid var(--border);transition:transform .15s ease}.appearance-creator-color-swatch-large:hover{transform:scale(1.01)}.appearance-creator-errors{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#cc33331a;border:1px solid hsl(0 60% 50% / .3);border-radius:6px}.appearance-creator-error{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--destructive)}.appearance-creator-error svg{flex-shrink:0;margin-top:.125rem}.appearance-creator-actions{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border);margin-top:.25rem}.appearance-creator-preview{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;background:var(--color-bg-subtle);border-radius:8px;border:1px solid var(--border)}.appearance-creator-preview-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text)}.appearance-creator-preview-title svg{color:var(--cute-gold)}.appearance-creator-preview-content{display:flex;flex-wrap:wrap;gap:.5rem}.appearance-creator-preview-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--cute-purple-bg);color:var(--cute-purple);border-radius:4px;font-size:.875rem;font-weight:500}.appearance-creator-preview-hint{margin:0;font-size:.75rem;color:var(--color-text-muted)}.appearance-creator-preview-hint strong{color:var(--color-text);font-weight:500}@media (max-width: 767px){.appearance-option-creator{width:100%;min-width:0;overflow:hidden}.appearance-creator-section-title,.appearance-creator-label{font-size:.75rem}.appearance-creator-input,.appearance-creator-select,.appearance-creator-hex-input{font-size:.75rem;padding:.375rem .5rem}.appearance-creator-hint{font-size:.6875rem}.appearance-creator-color-section{gap:.75rem}.appearance-creator-color-picker{width:40px;height:40px}.appearance-creator-color-swatch-large{min-height:50px;font-size:.75rem}.appearance-creator-errors{padding:.5rem}.appearance-creator-error{font-size:.75rem}.appearance-creator-preview{padding:.75rem}.appearance-creator-preview-title{font-size:.75rem}.appearance-creator-preview-tag{font-size:.75rem;padding:.25rem .5rem}.appearance-creator-preview-hint{font-size:.6875rem}.appearance-creator-actions{gap:.5rem}}@media (max-width: 480px){.appearance-creator-color-inputs{flex-direction:column;align-items:stretch}.appearance-creator-color-picker{width:100%;height:56px}.appearance-creator-actions{flex-direction:column}.appearance-creator-actions button{width:100%}}.custom-content-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:hsl(var(--cute-purple) / .1);border:1px solid hsl(var(--cute-purple) / .3);border-radius:var(--radius-md);transition:all .2s ease}.custom-content-badge:hover{background:hsl(var(--cute-purple) / .15);border-color:hsl(var(--cute-purple) / .5)}.custom-content-badge-sm{padding:.125rem .375rem;font-size:.6875rem}.custom-content-badge-md{padding:.25rem .5rem;font-size:.75rem}.custom-content-badge-compact{gap:.25rem}.custom-content-badge-indicator{display:inline-flex;align-items:center;gap:.25rem}.custom-content-badge-icon{color:hsl(var(--cute-purple));flex-shrink:0}.custom-content-badge-label{color:hsl(var(--cute-purple));font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.custom-content-badge-actions{display:inline-flex;align-items:center;gap:.125rem;margin-left:.25rem;padding-left:.375rem;border-left:1px solid hsl(var(--cute-purple) / .3)}.custom-content-badge-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.custom-content-badge-action-btn:hover{background:hsl(var(--cute-purple) / .2);color:hsl(var(--cute-purple))}.custom-content-badge-action-btn:active{transform:scale(.95)}.custom-content-badge-action-btn:disabled{opacity:.5;cursor:not-allowed}.custom-content-badge-action-delete:hover{background:hsl(var(--destructive) / .15);color:hsl(var(--destructive))}.custom-content-badge-delete-confirm{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius-md);animation:customBadgeFadeIn .15s ease-out}@keyframes customBadgeFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.custom-content-badge-confirm-text{font-size:.75rem;font-weight:600;color:hsl(var(--destructive))}.custom-content-badge-confirm-actions{display:inline-flex;align-items:center;gap:.25rem}.custom-content-badge-spinner{animation:customBadgeSpin 1s linear infinite}@keyframes customBadgeSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.custom-content-badge{flex-wrap:wrap;gap:.375rem}.custom-content-badge-actions{margin-left:0;padding-left:0;border-left:none;padding-top:.25rem;border-top:1px solid hsl(var(--cute-purple) / .3);width:100%;justify-content:center}}.spawn-mode-controls{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.spawn-mode-section{display:flex;flex-direction:column;gap:.75rem}.spawn-mode-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.spawn-mode-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.spawn-mode-custom-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--cute-purple) / .15);color:hsl(var(--cute-purple));border-radius:var(--radius-full);font-size:.6875rem;font-weight:600}.spawn-mode-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.spawn-mode-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-dim);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.spawn-mode-btn:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.spawn-mode-btn-active{border-color:var(--color-primary);background:hsl(var(--primary) / .1);color:var(--color-text-primary)}.spawn-mode-btn-active:hover{background:hsl(var(--primary) / .15)}.spawn-mode-btn-indicator{width:.5rem;height:.5rem;border-radius:var(--radius-full);flex-shrink:0}.spawn-mode-btn-label{white-space:nowrap}.spawn-mode-description{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-secondary)}.spawn-mode-description-indicator{width:.375rem;height:.375rem;border-radius:var(--radius-full);flex-shrink:0}.spawn-mode-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.spawn-mode-advanced{display:flex;flex-direction:column;gap:0;padding-top:.5rem;border-top:1px solid var(--color-border)}.spawn-mode-advanced-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.spawn-mode-advanced-toggle:hover{background:var(--color-surface-dim);color:var(--color-text-primary)}.spawn-mode-weight-count{margin-left:auto;padding:.125rem .375rem;background:var(--color-surface-dim);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600}.spawn-mode-weight-editor{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;margin-top:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-md);animation:spawnModeSlideDown .2s ease-out}@keyframes spawnModeSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.spawn-mode-weight-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.spawn-mode-weight-help{margin:0;font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.spawn-mode-weight-actions{display:flex;align-items:center;gap:.25rem;font-size:.6875rem}.spawn-mode-weight-action-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:.125rem .25rem;border-radius:var(--radius-sm);transition:all .15s ease}.spawn-mode-weight-action-btn:hover{color:var(--color-primary);background:var(--color-surface)}.spawn-mode-weight-action-divider{color:var(--color-border)}.spawn-mode-weight-table-header{display:flex;align-items:center;padding:.25rem .5rem;border-bottom:1px solid var(--color-border);font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.spawn-mode-weight-table-col-name{flex:1;min-width:0}.spawn-mode-weight-table-col-weight{width:60px;text-align:right;flex-shrink:0}.spawn-mode-weight-list{display:flex;flex-direction:column;gap:0;max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.spawn-mode-weight-group{display:flex;flex-direction:column}.spawn-mode-weight-group-header{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:var(--color-surface-dim);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .15s ease;width:100%;text-align:left}.spawn-mode-weight-group-header:hover{background:var(--color-surface)}.spawn-mode-weight-group-header svg{flex-shrink:0;color:var(--color-text-secondary);transition:transform .15s ease}.spawn-mode-weight-group-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spawn-mode-weight-group-count{padding:.0625rem .375rem;background:var(--color-surface);border-radius:var(--radius-full);font-size:.625rem;font-weight:600;color:var(--color-text-secondary)}.spawn-mode-weight-group-items{display:flex;flex-direction:column}.spawn-mode-weight-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.spawn-mode-weight-item:last-child{border-bottom:none}.spawn-mode-weight-item:hover{background:var(--color-surface-dim)}.spawn-mode-weight-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:0;cursor:default}.spawn-mode-weight-name-text{font-size:.8125rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spawn-mode-weight-name-id{font-size:.625rem;color:var(--color-text-secondary);font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spawn-mode-weight-input{width:60px;max-width:60px;min-width:60px;padding:.1875rem .25rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-dim);color:var(--color-text-primary);font-size:.75rem;font-family:var(--font-mono, monospace);text-align:right;transition:border-color .15s ease,background-color .15s ease;flex-shrink:0}.spawn-mode-weight-input:hover{border-color:var(--color-text-secondary)}.spawn-mode-weight-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface)}.spawn-mode-weight-input::-webkit-inner-spin-button,.spawn-mode-weight-input::-webkit-outer-spin-button{opacity:1}.spawn-mode-import-export{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.spawn-mode-io-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.spawn-mode-import-error{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius-md);color:hsl(var(--destructive));font-size:.75rem}.spawn-mode-success{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:hsl(var(--cute-green) / .1);border:1px solid hsl(var(--cute-green) / .3);border-radius:var(--radius-md);color:hsl(var(--cute-green));font-size:.75rem;animation:spawnModeFadeIn .3s ease-out}.spawn-mode-feedback{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.75rem;animation:spawnModeFadeIn .3s ease-out}@keyframes spawnModeFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.spawn-mode-batch-images{display:flex;flex-direction:column;gap:0;padding-top:.5rem;border-top:1px solid var(--color-border)}.spawn-mode-batch-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.spawn-mode-batch-toggle:hover{background:var(--color-surface-dim);color:var(--color-text-primary)}.spawn-mode-batch-panel{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;margin-top:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-md);animation:spawnModeSlideDown .2s ease-out}.spawn-mode-batch-help{margin:0;font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.spawn-mode-batch-field{display:flex;flex-direction:column;gap:.25rem}.spawn-mode-batch-label{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.spawn-mode-batch-select{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.8125rem;cursor:pointer}.spawn-mode-batch-select:focus{outline:none;border-color:var(--color-primary)}.spawn-mode-batch-input{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font-size:.8125rem;transition:border-color .2s ease}.spawn-mode-batch-input:focus{outline:none;border-color:var(--color-primary)}.spawn-mode-batch-input-sm{flex:1;min-width:0;font-size:.75rem}.spawn-mode-batch-hint{font-size:.6875rem;color:var(--color-text-secondary)}.spawn-mode-batch-mode-buttons{display:flex;gap:.375rem}.spawn-mode-batch-mode-btn{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.spawn-mode-batch-mode-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-text-primary)}.spawn-mode-batch-mode-btn:disabled{opacity:.5;cursor:not-allowed}.spawn-mode-batch-mode-active{border-color:var(--color-primary);background:hsl(var(--primary) / .1);color:var(--color-text-primary)}.spawn-mode-batch-values{display:flex;flex-direction:column;gap:.5rem}.spawn-mode-batch-values-list{display:flex;flex-direction:column;gap:.375rem;max-height:200px;overflow-y:auto;padding:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.spawn-mode-batch-value-row{display:flex;align-items:center;gap:.5rem}.spawn-mode-batch-value-label{min-width:100px;font-size:.75rem;color:var(--color-text-secondary);flex-shrink:0}.spawn-mode-batch-preview{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-secondary);padding:.375rem .5rem;background:var(--color-surface);border-radius:var(--radius-sm)}.spawn-mode-batch-preview svg{color:var(--color-primary)}.spawn-mode-batch-error{display:flex;align-items:center;gap:.375rem;padding:.5rem;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius-md);color:hsl(var(--destructive));font-size:.75rem}.spawn-mode-batch-url-hint{font-size:.6875rem;color:var(--color-text-secondary);padding:.25rem .5rem;background:var(--color-surface);border-radius:var(--radius-sm)}.spawn-mode-batch-url-hint code{background:var(--color-surface-dim);padding:.125rem .25rem;border-radius:2px;font-size:.625rem}.spawn-mode-batch-actions{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--color-border)}.spawn-mode-global-section{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--color-surface-dim);border-radius:var(--radius-md);border:1px solid var(--color-border)}.spawn-mode-global-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.spawn-mode-global-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.spawn-mode-global-title svg{color:var(--color-primary)}.spawn-mode-global-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .3);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500;color:var(--color-primary)}.spawn-mode-global-description{margin:0;font-size:.75rem;color:var(--color-text-secondary);line-height:1.4}.spawn-mode-global-override .spawn-mode-section,.spawn-mode-global-override .spawn-mode-actions{opacity:.6;pointer-events:none}@media (max-width: 480px){.spawn-mode-buttons{flex-direction:column}.spawn-mode-btn{width:100%;justify-content:flex-start}.spawn-mode-actions,.spawn-mode-io-buttons{flex-direction:column}.spawn-mode-weight-header{flex-direction:column;align-items:stretch}.spawn-mode-weight-actions{justify-content:center}.spawn-mode-weight-input{width:50px;max-width:50px;min-width:50px;font-size:.6875rem;padding:.125rem .1875rem}.spawn-mode-weight-name-text{font-size:.75rem}.spawn-mode-weight-name-id{font-size:.5625rem}.spawn-mode-weight-group-header{font-size:.6875rem;padding:.25rem .375rem}.spawn-mode-weight-item{padding:.1875rem .375rem}.spawn-mode-weight-list{max-height:200px}.spawn-mode-batch-mode-buttons{flex-direction:column}.spawn-mode-batch-mode-btn{width:100%}.spawn-mode-batch-value-row{flex-direction:column;align-items:stretch;gap:.25rem;padding:.5rem;background:var(--color-surface-dim);border-radius:var(--radius-sm)}.spawn-mode-batch-value-label{min-width:auto}.spawn-mode-batch-input-sm{width:100%}}:root{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 217.2 91.2% 59.8%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 75%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9%;--radius: .5rem;--cute-pink: 330 81% 65%;--cute-purple: 268 75% 60%;--cute-teal: 174 65% 55%;--cute-yellow: 45 93% 58%;--cute-orange: 24 95% 60%;--cute-green: 142 71% 45%;--surface-1: 222.2 84% 6.5%;--surface-2: 222.2 84% 8.5%;--surface-3: 222.2 84% 11%;--surface-hover: 217.2 32.6% 22%;--surface-dim: 222.2 84% 4%;--surface-h: 222.2;--surface-s: 84%;--surface-l: 6.5%;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6);--shadow-glow: 0 0 20px hsl(var(--primary) / .3);--shadow-focus: 0 0 0 3px hsl(var(--primary) / .1);--shadow-focus-destructive: 0 0 0 3px hsl(var(--destructive) / .1);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--gpu-accel: translateZ(0);--gpu-accel-3d: translate3d(0, 0, 0);--radius-full: 9999px;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--transition-fast: .15s;--transition-normal: .25s;--color-text-primary: hsl(var(--foreground));--color-text-secondary: hsl(var(--muted-foreground));--color-text-tertiary: hsl(var(--muted-foreground) / .6);--color-surface: hsl(var(--surface-1));--color-surface-dim: hsl(var(--surface-dim));--color-surface-elevated: hsl(var(--surface-hover));--color-surface-h: var(--surface-h);--color-surface-s: var(--surface-s);--color-surface-l: var(--surface-l);--color-border: hsl(var(--border));--color-border-elevated: hsl(var(--border) / .7);--color-primary: hsl(var(--primary));--color-primary-light: hsl(var(--primary) / .15);--color-primary-foreground: hsl(var(--primary-foreground));--space-1: var(--spacing-1);--space-2: var(--spacing-2);--space-3: var(--spacing-3);--space-4: var(--spacing-4);--space-5: var(--spacing-5);--space-6: var(--spacing-6);--space-8: var(--spacing-8);--color-text: hsl(var(--foreground));--color-text-muted: hsl(var(--muted-foreground));--color-bg: hsl(var(--background));--color-bg-muted: hsl(var(--muted));--color-bg-subtle: hsl(var(--surface-1));--color-bg-hover: hsl(var(--surface-hover));--color-bg-subtle-hover: hsl(var(--surface-hover));--input-bg: hsl(var(--input));--ring-ring: var(--ring);--cute-blue: 210 80% 50%;--cute-gold: 45 100% 40%;--cute-purple-bg: hsl(var(--cute-purple) / .15);--cute-blue-bg: hsl(var(--cute-blue) / .15);--cute-gold-bg: hsl(var(--cute-gold) / .15);--subdivision-quarter: 210 100% 50%;--subdivision-half: 142 76% 46%;--subdivision-eighth: 30 100% 50%;--subdivision-sixteenth: 0 84% 60%;--subdivision-triplet8: 280 80% 55%;--subdivision-triplet4: 330 80% 55%;--subdivision-dotted4: 180 70% 45%;--subdivision-dotted8: 48 96% 53%;--subdivision-swing: 195 85% 50%;--subdivision-offbeat8: 75 85% 48%;--subdivision-rest: 260 25% 50%;--subdivision-quarter-bg: hsl(var(--subdivision-quarter) / .18);--subdivision-half-bg: hsl(var(--subdivision-half) / .18);--subdivision-eighth-bg: hsl(var(--subdivision-eighth) / .18);--subdivision-sixteenth-bg: hsl(var(--subdivision-sixteenth) / .18);--subdivision-triplet8-bg: hsl(var(--subdivision-triplet8) / .18);--subdivision-triplet4-bg: hsl(var(--subdivision-triplet4) / .18);--subdivision-dotted4-bg: hsl(var(--subdivision-dotted4) / .18);--subdivision-dotted8-bg: hsl(var(--subdivision-dotted8) / .18);--subdivision-swing-bg: hsl(var(--subdivision-swing) / .18);--subdivision-offbeat8-bg: hsl(var(--subdivision-offbeat8) / .18);--subdivision-rest-bg: hsl(var(--subdivision-rest) / .18);--key-indicator-left: 210 80% 55%;--key-indicator-down: 140 70% 40%;--key-indicator-up: 0 80% 50%;--key-indicator-right: 280 65% 55%;--key-indicator-1: 140 70% 40%;--key-indicator-2: 0 80% 50%;--key-indicator-3: 45 90% 50%;--key-indicator-4: 210 80% 55%;--key-indicator-5: 25 90% 50%;--tap-wrong-key: 0 72% 50%}*,*:before,*:after{box-sizing:border-box}*{border-color:hsl(var(--border))}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}@media (max-width: 767px){html{overflow-x:clip}}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1;line-height:1.6;min-height:100vh}:focus-visible{outline:2px solid hsl(var(--foreground));outline-offset:2px}.skip-to-content{position:absolute;top:-40px;left:0;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px 16px;text-decoration:none;z-index:100}.skip-to-content:focus{top:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;letter-spacing:-.02em}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}p:last-child{margin-bottom:0}a{color:hsl(var(--primary));text-decoration:none;transition:color var(--duration-fast) var(--ease-out-cubic)}a:hover{color:hsl(var(--primary) / .8);text-decoration:underline}a:focus-visible{outline-offset:4px}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .3) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:4px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5);background-clip:content-box}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .1)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}button{transition:transform var(--duration-fast) var(--ease-out-cubic),background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel)}button:active:not(:disabled){transform:scale(.98) var(--gpu-accel)}.gpu-accel{transform:var(--gpu-accel);backface-visibility:hidden;perspective:1000px}.composite-layer{will-change:transform;contain:layout style paint}.animate-optimal{will-change:transform,opacity;transform:var(--gpu-accel)}.shadow-animate{position:relative}.shadow-animate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inherit;opacity:0;transition:opacity var(--duration-fast) var(--ease-out-cubic);pointer-events:none}.shadow-animate:hover:before{opacity:1}.contain-layout{contain:layout}.contain-style{contain:style}.contain-all{contain:strict}img,.album-art-image,.track-artwork{contain:strict;will-change:transform}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.gpu-accel,.composite-layer,.animate-optimal,img{will-change:auto;transform:none}}.desktop-only{display:none}@media (min-width: 768px){.desktop-only{display:revert}}.mobile-only{display:none}@media (max-width: 767px){.mobile-only{display:revert}}.touch-target{min-height:44px;min-width:44px}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,hsl(var(--primary-foreground) / .3),transparent);border-radius:50%;transform:translate(-50%,-50%);transition:width var(--duration-slow) var(--ease-out-quart),height var(--duration-slow) var(--ease-out-quart)}.ripple:active:after{width:300px;height:300px}.glass{background:hsl(var(--surface-2) / .8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.text-gradient{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--cute-purple)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.border-glow{box-shadow:0 0 0 1px hsl(var(--primary) / .1),0 0 20px hsl(var(--primary) / .05)}.hover-scale-sm{transition:transform var(--duration-fast) var(--ease-out-cubic)}.hover-scale-sm:hover{transform:scale(1.02)}.hover-scale-md{transition:transform var(--duration-normal) var(--ease-out-cubic)}.hover-scale-md:hover{transform:scale(1.05)}.gpu-accel-3d{transform:translateZ(0);backface-visibility:hidden}.contain-paint{contain:paint}.appear{animation:appear var(--duration-slow) var(--ease-out-quart)}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-cubic)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out-quart)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spring-in{animation:springIn var(--duration-slow) var(--ease-spring)}@keyframes springIn{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.level-up-pulse{animation:levelUpPulse .6s var(--ease-spring)}@keyframes levelUpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.leveling-pulse{animation:levelingPulse .6s var(--ease-spring)}@keyframes levelingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.pulse-subtle{animation:pulseSubtle 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.7}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse-scale{animation:pulseScale 2s infinite}@keyframes pulseScale{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.playing-pulse{animation:playingPulse 1.5s ease-in-out infinite}@keyframes playingPulse{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.5;transform:translateY(-50%) scale(1.2)}}.timer-pulse{animation:timerPulse 2s ease-in-out infinite}@keyframes timerPulse{0%,to{filter:drop-shadow(0 0 8px hsl(var(--primary) / .4))}50%{filter:drop-shadow(0 0 16px hsl(var(--primary) / .6))}}.session-card-pulse{animation:sessionCardPulse 2s ease-in-out infinite}@keyframes sessionCardPulse{0%,to{box-shadow:0 0 0 2px hsl(var(--primary) / .1),0 10px 25px -5px hsl(var(--primary) / .2)}50%{box-shadow:0 0 0 3px hsl(var(--primary) / .15),0 10px 30px -5px hsl(var(--primary) / .25)}}.sensor-pulse{animation:sensorPulse 2s var(--ease-out-cubic) infinite}@keyframes sensorPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-spin{animation:settingsSpin .75s linear infinite}@keyframes settingsSpin{to{transform:rotate(360deg)}}.progress-shimmer{animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.selection-ring{animation:selectionRing var(--duration-slow) var(--ease-out-quart)}@keyframes selectionRing{0%{box-shadow:0 0 hsl(var(--primary) / .5)}to{box-shadow:0 0 0 4px hsl(var(--primary) / 0)}}.count-up{animation:countUp var(--duration-normal) var(--ease-out-cubic)}@keyframes countUp{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.confetti-fall{animation:confettiFall 3s var(--ease-out-cubic) forwards}@keyframes confettiFall{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.leveling-confetti-fall{animation:levelingConfettiFall 3s var(--ease-out-cubic) forwards}@keyframes levelingConfettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes keyIndicatorGlow{0%{filter:brightness(1)}to{filter:brightness(1.2)}}@keyframes keyIndicatorPress{0%{transform:scale(1)}50%{transform:scale(1.3);filter:brightness(1.5)}to{transform:scale(1);opacity:.8}}@keyframes keyIndicatorWrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}@keyframes feedbackRingExpand{0%{transform:scale(1);opacity:1}to{transform:scale(1.8);opacity:0}}@keyframes wrongKeyFlash{0%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes miniIndicatorGlow{0%{filter:brightness(1)}to{filter:brightness(1.15)}}.key-glow{animation:keyIndicatorGlow .8s ease-in-out infinite alternate}.key-press{animation:keyIndicatorPress .3s ease-out forwards}.key-wrong{animation:keyIndicatorWrong .4s ease-out}.key-feedback-ring{animation:feedbackRingExpand .5s ease-out forwards}.key-wrong-flash{animation:wrongKeyFlash .4s ease-out forwards}.hw-animate{animation:hwAccelerated var(--duration-normal) var(--ease-out-cubic);will-change:transform}@keyframes hwAccelerated{0%{transform:translateZ(0) scale(1)}to{transform:translateZ(0) scale(1.05)}}.stagger-children>*{animation-delay:calc(var(--stagger-delay, 0ms) + var(--child-index, 0) * 50ms)}.gpu-accel{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.hw-accel-3d{transform:translateZ(0);backface-visibility:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.button{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:calc(var(--radius) - .125rem);border:none;cursor:pointer;transition:transform var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic),border-color var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic),opacity var(--duration-normal) var(--ease-out-cubic);gap:.5rem;transform:var(--gpu-accel);will-change:transform}.button:hover:not(:disabled){transform:scale(1.02) var(--gpu-accel)}.button:active:not(:disabled){transform:scale(.98) var(--gpu-accel)}.button:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--ring)),0 0 0 4px hsl(var(--background))}.button:disabled,.button-disabled{opacity:.5;cursor:not-allowed;transform:none!important}.button-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-md)}.button-primary:hover:not(:disabled){background-color:hsl(var(--primary) / .9)}.button-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.button-secondary:hover:not(:disabled){background-color:hsl(var(--secondary) / .8)}.button-ghost{background-color:transparent;color:hsl(var(--foreground))}.button-ghost:hover:not(:disabled){background-color:hsl(var(--surface-3))}.button-outline{background-color:transparent;color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.button-outline:hover:not(:disabled){background-color:hsl(var(--surface-3));border-color:hsl(var(--primary) / .5)}.button-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground));box-shadow:var(--shadow-md)}.button-destructive:hover:not(:disabled){background-color:hsl(var(--destructive) / .9)}.button-sm{height:2rem;padding:0 .75rem;font-size:.875rem;gap:.375rem;min-height:2rem}.button-md{height:2.5rem;padding:0 1rem;font-size:1rem;gap:.5rem;min-height:2.5rem}.button-lg{height:3rem;padding:0 1.5rem;font-size:1.125rem;gap:.625rem;min-height:3rem}.button-icon{width:2.5rem;height:2.5rem;padding:0;min-height:2.5rem;flex-shrink:0}.button-icon-sm{width:1rem;height:1rem}.button-icon-md{width:1.25rem;height:1.25rem}.button-icon-lg{width:1.5rem;height:1.5rem}.button-text{display:inline-block}.gaming-connect-btn{width:100%;padding:.625rem 1rem;min-height:2.75rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic);transform:var(--gpu-accel)}@media (min-width: 768px){.gaming-connect-btn{width:auto;padding:.5rem 1rem;min-height:2.5rem;font-size:.8125rem}}.gaming-connect-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.gaming-connect-btn:active:not(:disabled){transform:scale(.98)}.gaming-connect-btn:disabled{opacity:.5;cursor:not-allowed}.gaming-discord-btn{background-color:#7047eb}.gaming-discord-btn:hover:not(:disabled){background-color:#5e30e8}.gaming-disconnect-btn{background-color:hsl(var(--destructive))}.gaming-disconnect-btn:hover:not(:disabled){opacity:.9}@media (max-width: 767px){.button-sm{height:1.75rem;padding:0 .5rem;font-size:.8125rem;min-height:1.75rem;gap:.25rem}.button-md{height:2rem;padding:0 .75rem;font-size:.875rem;min-height:2rem;gap:.375rem}.button-lg{height:2.5rem;padding:0 1rem;font-size:1rem;min-height:2.5rem;gap:.5rem}.button:hover:not(:disabled){transform:none}}.settings-export-btn,.settings-import-btn{flex:1}.settings-reset-btn{width:100%}@media (min-width: 480px){.settings-reset-btn{width:auto}}.card{border-radius:var(--radius);transition:border-color var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic)}.card-default{background-color:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-sm)}.card-elevated{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));box-shadow:var(--shadow-md);transition:box-shadow var(--duration-normal) var(--ease-out-cubic),transform var(--duration-normal) var(--ease-out-cubic);transform:var(--gpu-accel);will-change:transform,box-shadow;contain:layout style paint}.card-elevated:hover{box-shadow:var(--shadow-lg)}.card-outlined{background-color:hsl(var(--card));border:2px solid hsl(var(--border));box-shadow:none}.card-flat{background-color:hsl(var(--surface-1));border:none;box-shadow:none}.card-hoverable{cursor:pointer}.card-hoverable:hover{box-shadow:var(--shadow-md);background-color:hsl(var(--surface-hover));border-color:hsl(var(--primary) / .5);transform:scale(1.01)}.card-hoverable:active{transform:scale(.99)}.card-padding-none{padding:0}.card-padding-sm{padding:1rem}.card-padding-md{padding:1.5rem}.card-padding-lg{padding:2rem}@media (max-width: 640px){.card-padding-sm{padding:.375rem}.card-padding-md{padding:.5rem}.card-padding-lg{padding:.625rem}}.card-header{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.card-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground));line-height:1.25}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground))}.card-footer{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.card-skeleton{padding:1.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--card))}.card-skeleton-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.card-skeleton-header-title{width:33.33%}.card-skeleton-header-subtitle{width:66.67%}.card-skeleton-footer{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid hsl(var(--border))}.gamemode-toggle{display:flex;flex-direction:column;gap:.75rem;background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.gamemode-toggle{padding:1rem}}.gamemode-toggle-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.gamemode-toggle-title{font-size:.8125rem;font-weight:600;margin:0;color:hsl(var(--foreground))}@media (min-width: 768px){.gamemode-toggle-title{font-size:.875rem}}.gamemode-info-wrapper{position:relative}.gamemode-info-btn{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background-color:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;color:hsl(var(--muted-foreground));transition:background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),color var(--duration-fast) var(--ease-out-cubic);flex-shrink:0}.gamemode-info-btn:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary));color:hsl(var(--primary))}.gamemode-info-icon{width:.875rem;height:.875rem}.gamemode-tooltip{position:absolute;top:100%;right:0;z-index:100;margin-top:.25rem;background-color:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:18rem;max-width:20rem}.gamemode-tooltip-content{padding:.75rem}.gamemode-tooltip-content p{font-size:.75rem;line-height:1.4;margin:0 0 .5rem;color:hsl(var(--popover-foreground))}.gamemode-tooltip-content p:last-child{margin-bottom:0}.gamemode-tooltip-close{position:absolute;top:.25rem;right:.25rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-size:1rem;color:hsl(var(--muted-foreground));border-radius:var(--radius);transition:background-color var(--duration-fast) var(--ease-out-cubic),color var(--duration-fast) var(--ease-out-cubic)}.gamemode-tooltip-close:hover{background-color:hsl(var(--surface-3));color:hsl(var(--foreground))}.gamemode-options{display:flex;flex-direction:column;gap:.5rem}.gamemode-option{position:relative;display:flex;align-items:center;padding:.75rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic),border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic)}.gamemode-option:hover{background-color:hsl(var(--surface-3));border-color:hsl(var(--primary) / .5)}.gamemode-option-selected{background-color:hsl(var(--primary) / .1);border-color:hsl(var(--primary));box-shadow:0 0 0 1px hsl(var(--primary))}.gamemode-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.gamemode-option-content{display:flex;flex-direction:column;gap:.25rem;width:100%}.gamemode-option-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.gamemode-option-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.gamemode-option-selected .gamemode-option-icon{color:hsl(var(--primary))}.gamemode-option-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.gamemode-option-label{font-size:.875rem}}.gamemode-option-description{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-left:1.625rem}@media (min-width: 768px){.gamemode-option-description{font-size:.75rem}}.gamemode-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.025em;margin-left:auto}@media (min-width: 768px){.gamemode-badge{font-size:.6875rem;padding:.1875rem .625rem}}.gamemode-badge-standard{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground))}.gamemode-badge-uncapped{background-color:#9947eb33;color:#9947eb;border:1px solid hsl(270 80% 60% / .3)}.gamemode-option:focus-within{outline:none;box-shadow:0 0 0 2px hsl(var(--ring)),0 0 0 4px hsl(var(--background))}@media (max-width: 480px){.gamemode-option-header{flex-wrap:wrap}.gamemode-badge{width:100%;margin-left:0;margin-top:.25rem;justify-content:center}.gamemode-tooltip{left:0;right:0;min-width:100%}}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=search],textarea,select{background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;line-height:1.5;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);width:100%}input[type=text]::-moz-placeholder,input[type=email]::-moz-placeholder,input[type=password]::-moz-placeholder,input[type=number]::-moz-placeholder,input[type=url]::-moz-placeholder,input[type=search]::-moz-placeholder,textarea::-moz-placeholder{color:hsl(var(--muted-foreground))}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=url]::placeholder,input[type=search]::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground))}input[type=text]:hover:not(:focus),input[type=email]:hover:not(:focus),input[type=password]:hover:not(:focus),input[type=number]:hover:not(:focus),input[type=url]:hover:not(:focus),input[type=search]:hover:not(:focus),textarea:hover:not(:focus),select:hover:not(:focus){border-color:hsl(var(--muted-foreground) / .5)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=url]:focus,input[type=search]:focus,textarea:focus,select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;cursor:pointer}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:8px;background:hsl(var(--muted));border-radius:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:hsl(var(--primary));border-radius:50%;margin-top:-5px;box-shadow:0 2px 4px #0003;-webkit-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}input[type=range]::-moz-range-track{height:8px;background:hsl(var(--muted));border-radius:4px}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:hsl(var(--primary));border:none;border-radius:50%;box-shadow:0 2px 4px #0003;-moz-transition:transform var(--duration-fast) var(--ease-out-cubic);transition:transform var(--duration-fast) var(--ease-out-cubic)}input[type=range]::-moz-range-thumb:hover{transform:scale(1.1)}.input-container{display:flex;flex-direction:column;gap:.375rem}.input-label{font-weight:500;color:hsl(var(--foreground));transition:color var(--duration-fast) ease}.input-label-sm{font-size:.875rem}.input-label-md{font-size:1rem}.input-label-lg{font-size:1.125rem}.input-label-disabled{opacity:.5;cursor:not-allowed}.input-wrapper{position:relative}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));transition:color var(--duration-fast) ease;pointer-events:none}.input-icon-left{left:1rem;width:1rem;height:1.3rem}.input-icon-right{right:.75rem}.input-icon-sm{width:1rem;height:1rem}.input-icon-md{width:1.25rem;height:1.25rem}.input-icon-lg{width:1.5rem;height:1.5rem}.input-icon-disabled{opacity:.5}.input-field{display:flex;width:100%;border-radius:.375rem;font-weight:500;background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));transition:border-color var(--duration-normal) var(--ease-out-cubic),box-shadow var(--duration-normal) var(--ease-out-cubic),background-color var(--duration-normal) var(--ease-out-cubic)}.input-field::-moz-placeholder{color:hsl(var(--muted-foreground) / .6)}.input-field::placeholder{color:hsl(var(--muted-foreground) / .6)}.input-field:hover:not(:focus):not(:disabled){border-color:hsl(var(--primary) / .5)}.input-field:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.input-field:disabled{cursor:not-allowed;opacity:.5;background-color:hsl(var(--muted))}.input-field-error{border-color:hsl(var(--destructive))}.input-field-error:focus{border-color:hsl(var(--destructive));box-shadow:var(--shadow-focus-destructive)}.input-sm{height:2.25rem;padding:0 .75rem;font-size:.875rem;min-height:2.25rem}.input-md{height:2.75rem;padding:0 1rem;font-size:1rem;min-height:2.75rem}.input-lg{height:3.25rem;padding:0 1.25rem;font-size:1.125rem;min-height:3.25rem}input.input-field-with-left-icon{padding:0 1rem 0 3.5rem;width:100%}.input-field-with-right-icon{padding-right:2.75rem}.input-helper-text{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));transition:color var(--duration-fast) ease}.input-helper-text-error{color:hsl(var(--destructive))}.input-helper-text-disabled{opacity:.5}.input-helper-text a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px;transition:color var(--duration-fast) ease,opacity var(--duration-fast) ease}.input-helper-text a:hover{opacity:.8}.input-helper-text a:focus{outline:2px solid hsl(var(--primary) / .5);outline-offset:2px;border-radius:2px}@media (max-width: 767px){.input-sm{height:2rem;padding:0 .5rem;font-size:.8125rem;min-height:2rem}.input-md{height:2.25rem;padding:0 .75rem;font-size:.875rem;min-height:2.25rem}.input-lg{height:2.75rem;padding:0 1rem;font-size:1rem;min-height:2.75rem}input.input-field-with-left-icon{padding:0 .75rem 0 2.75rem}}.settings-select{padding:.5rem 2rem .5rem .75rem;background-color:hsl(var(--background));color:hsl(var(--foreground));border:1px solid hsl(var(--input));border-radius:var(--radius);font-size:.875rem;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em 1.25em}.settings-select:hover{border-color:hsl(var(--muted-foreground) / .5)}.settings-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:var(--shadow-focus)}.skeleton{background-color:hsl(var(--muted));animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-text{border-radius:.125rem;height:1rem}.skeleton-circular{border-radius:9999px}.skeleton-rectangular{border-radius:0}.skeleton-rounded{border-radius:.375rem}.skeleton-group{display:flex;flex-direction:column;gap:.5rem}.track-card-skeleton{display:flex;gap:1rem;padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:hsl(var(--card))}.track-card-skeleton-info{flex:1;display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem;padding-bottom:.25rem}.skeleton-art-compact{width:4rem;height:4rem}.skeleton-art-default{width:5rem;height:5rem}.skeleton-art-large{width:6rem;height:6rem}.skeleton-title{width:75%}.skeleton-meta{width:50%}.skeleton-meta-small{width:25%}.playlist-header-skeleton{padding:1.5rem;border-radius:.5rem;background:linear-gradient(to bottom right,hsl(var(--primary) / .1),hsl(var(--surface-2)),hsl(var(--accent) / .1));border:1px solid hsl(var(--border))}.playlist-header-skeleton-inner{display:flex;gap:1.5rem;align-items:center}.playlist-header-skeleton-art{width:12rem;height:12rem}.playlist-header-skeleton-info{flex:1;display:flex;flex-direction:column;gap:1rem}.playlist-header-skeleton-badge{width:8rem;height:1.5rem}.playlist-header-skeleton-title{width:66.67%;height:2.5rem}.playlist-header-skeleton-description{width:50%}.playlist-header-skeleton-stats{width:33.33%}.playlist-loading{display:flex;flex-direction:column;gap:1.25rem}.playlist-track-skeletons{display:flex;flex-direction:column;gap:.375rem}.playlist-track-skeleton-list{display:flex;flex-direction:column;gap:.5rem}.shimmer{background:linear-gradient(90deg,hsl(var(--muted)),hsl(var(--surface-3)),hsl(var(--muted)));background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.beat-detection-settings-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:.5rem;background-color:hsl(var(--card) / .5);border:1px solid hsl(var(--border) / .5)}.beat-detection-settings-skeleton-section{display:flex;flex-direction:column;gap:.5rem}.beat-detection-settings-skeleton-header{display:flex;justify-content:space-between;align-items:center}.beat-detection-settings-skeleton-label{width:6rem;height:1rem}.beat-detection-settings-skeleton-value{width:5rem;height:1rem}.beat-detection-settings-skeleton-value-small{width:2rem;height:1rem}.beat-detection-settings-skeleton-slider{padding:.5rem 0}.beat-detection-settings-skeleton-track{width:100%;height:.5rem}.beat-detection-settings-skeleton-marks{display:flex;justify-content:space-between;margin-top:.25rem}.beat-detection-settings-skeleton-mark{width:2rem;height:.75rem}.beat-map-summary-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border-radius:.5rem;background:linear-gradient(to bottom right,hsl(var(--primary) / .05),hsl(var(--surface-2)),hsl(var(--accent) / .05));border:1px solid hsl(var(--border) / .5)}.beat-map-summary-skeleton-header{display:flex;align-items:center;gap:.75rem}.beat-map-summary-skeleton-icon{width:1.5rem;height:1.5rem}.beat-map-summary-skeleton-title{width:8rem;height:1.25rem}.beat-map-summary-skeleton-stats{display:flex;justify-content:space-around;gap:1rem;padding:1rem 0}.beat-map-summary-skeleton-stat{display:flex;flex-direction:column;align-items:center;gap:.5rem}.beat-map-summary-skeleton-stat-value{width:3rem;height:1.5rem}.beat-map-summary-skeleton-stat-label{width:3rem;height:.75rem}.beat-map-summary-skeleton-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:.5rem}.beat-map-summary-skeleton-button{width:12rem;height:2.5rem}.beat-map-summary-skeleton-note{width:16rem;height:.75rem}.card-skeleton{display:flex;flex-direction:column;gap:1rem;padding:1rem;border:1px solid hsl(var(--border));border-radius:.5rem;background-color:hsl(var(--card))}.card-skeleton-header{display:flex;flex-direction:column;gap:.5rem}.card-skeleton-header-title{width:60%;height:1.25rem}.card-skeleton-header-subtitle{width:40%;height:.875rem}.card-skeleton-content{display:flex;flex-direction:column;gap:.5rem}.card-skeleton-footer{display:flex;gap:.75rem;padding-top:.5rem}.card-skeleton-footer-button{width:5rem;height:2rem}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:9999px;font-size:.8125rem;font-weight:500;border:1px solid transparent}@media (min-width: 768px){.status-badge{font-size:.875rem;padding:.5rem .75rem}}.status-badge-emoji{font-size:.875rem;line-height:1}@media (min-width: 768px){.status-badge-emoji{font-size:1rem}}.status-badge-label{line-height:1}.status-badge-healthy{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border-color:hsl(var(--cute-teal) / .3)}.status-badge-degraded{background-color:hsl(var(--cute-yellow) / .15);color:hsl(var(--cute-yellow));border-color:hsl(var(--cute-yellow) / .3)}.status-badge-error{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3)}.gaming-status-badge{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;padding:.25rem .625rem;border-radius:9999px;font-weight:500}@media (min-width: 768px){.gaming-status-badge{font-size:.875rem;padding:.375rem .75rem}}.gaming-status-dot{width:.5rem;height:.5rem;border-radius:9999px}@media (min-width: 768px){.gaming-status-dot{width:.5625rem;height:.5625rem}}.gaming-status-badge.connected{background-color:hsl(var(--cute-teal) / .15);color:hsl(var(--cute-teal));border:1px solid hsl(var(--cute-teal) / .3)}.gaming-status-badge.connected .gaming-status-dot{background-color:hsl(var(--cute-teal));box-shadow:0 0 .5rem hsl(var(--cute-teal) / .4)}.gaming-status-badge.connecting{background-color:hsl(var(--cute-yellow) / .15);color:hsl(var(--cute-yellow));border:1px solid hsl(var(--cute-yellow) / .3)}.gaming-status-badge.connecting .gaming-status-dot{background-color:hsl(var(--cute-yellow));animation:pulse 1.5s infinite}.gaming-status-badge.unavailable{background-color:hsl(var(--cute-orange) / .15);color:hsl(var(--cute-orange));border:1px solid hsl(var(--cute-orange) / .3)}.gaming-status-badge.unavailable .gaming-status-dot{background-color:hsl(var(--cute-orange))}.gaming-status-badge.error{background-color:hsl(var(--destructive) / .15);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive) / .3)}.gaming-status-badge.error .gaming-status-dot{background-color:hsl(var(--destructive))}.gaming-status-badge.disconnected{background-color:hsl(var(--muted) / .5);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.gaming-status-badge.disconnected .gaming-status-dot{background-color:hsl(var(--muted-foreground))}.tab-badge{position:absolute;top:-6px;left:50%;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background-color:hsl(var(--cute-yellow));color:hsl(var(--background));font-size:11px;font-weight:700;line-height:18px;text-align:center;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;z-index:10;transition:transform var(--duration-fast) var(--ease-out-cubic),box-shadow var(--duration-fast) var(--ease-out-cubic);transform:translate(-50%) var(--gpu-accel);backface-visibility:hidden}.tab-badge-glow{box-shadow:0 0 8px 2px hsl(var(--cute-yellow) / .6);animation:tabBadgeGlowPulse 2s ease-in-out infinite}@keyframes tabBadgeGlowPulse{0%,to{box-shadow:0 0 8px 2px hsl(var(--cute-yellow) / .6)}50%{box-shadow:0 0 14px 4px hsl(var(--cute-yellow) / .8)}}@media (prefers-reduced-motion: reduce){.tab-badge-glow{animation:none;box-shadow:0 0 8px 2px hsl(var(--cute-yellow) / .6)}}.app-header-tab:hover .tab-badge{transform:translate(-50%) scale(1.05)}.app-header-tab-active .tab-badge{background-color:hsl(var(--foreground));color:hsl(var(--primary))}.app-header-tab-active .tab-badge-glow{box-shadow:0 0 8px 2px hsl(var(--foreground) / .4);animation:tabBadgeGlowPulseActive 2s ease-in-out infinite}@keyframes tabBadgeGlowPulseActive{0%,to{box-shadow:0 0 8px 2px hsl(var(--foreground) / .4)}50%{box-shadow:0 0 14px 4px hsl(var(--foreground) / .6)}}.sidebar-button .tab-badge{top:4px;right:4px;left:auto;transform:none}.sidebar-button .tab-badge-glow{animation:tabBadgeGlowPulse 2s ease-in-out infinite}.sidebar-button:hover .tab-badge{transform:scale(1.05)}.sidebar-button-active .tab-badge{background-color:hsl(var(--primary-foreground));color:hsl(var(--primary))}.sidebar-button-active .tab-badge-glow{box-shadow:0 0 8px 2px hsl(var(--primary-foreground) / .4)}.toggle-card{background-color:hsl(var(--surface-2));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.875rem}@media (min-width: 768px){.toggle-card{padding:1rem}}.toggle-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.toggle-content{flex:1}.toggle-title{font-size:.8125rem;font-weight:600;margin:0 0 .25rem}@media (min-width: 768px){.toggle-title{font-size:.875rem}}.toggle-description{font-size:.6875rem;color:hsl(var(--muted-foreground));margin:0}@media (min-width: 768px){.toggle-description{font-size:.75rem}}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.25rem;height:1.25rem;background-color:hsl(var(--muted));border-radius:1rem;position:relative;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out-cubic)}@media (min-width: 768px){.toggle-checkbox{width:2rem;height:1.125rem}}.toggle-checkbox:checked{background-color:hsl(var(--primary))}.toggle-checkbox:before{content:"";position:absolute;width:.875rem;height:.875rem;background-color:#fff;border-radius:50%;top:.1875rem;left:.1875rem;transition:transform var(--duration-fast) var(--ease-out-cubic);box-shadow:0 1px 2px #0003}@media (min-width: 768px){.toggle-checkbox:before{width:.75rem;height:.75rem;top:.1875rem;left:.1875rem}}.toggle-checkbox:checked:before{transform:translate(1rem)}@media (min-width: 768px){.toggle-checkbox:checked:before{transform:translate(.875rem)}}.toggle-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 768px){.toggle-label{font-size:.875rem}}.toggle-button{position:relative;display:inline-flex;width:2.75rem;height:1.5rem;flex-shrink:0;background-color:hsl(var(--input));border-radius:9999px;transition:background-color var(--duration-normal) var(--ease-out-cubic);cursor:pointer;border:none;padding:0}.toggle-button:hover{background-color:hsl(var(--muted))}.toggle-button-active{background-color:hsl(var(--primary))}.toggle-button-active:hover{background-color:hsl(var(--primary) / .9)}.toggle-button-slider{position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;transition:transform var(--duration-normal) var(--ease-out-cubic)}.toggle-button-active .toggle-button-slider{transform:translate(1.25rem)}.xp-chart-sr-data{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.xp-chart-sr-data table{border-collapse:collapse}.xp-chart-sr-data caption{font-weight:600}.xp-chart-sr-data th,.xp-chart-sr-data td{padding:.25rem .5rem;text-align:left}.xp-curve-chart-wrapper{position:relative;width:100%;max-width:100%;margin:0 auto}.xp-curve-chart{width:100%;height:auto;display:block;font-family:inherit}.xp-chart-background{fill:hsl(var(--surface-1));rx:4}.xp-chart-grid-line{stroke:hsl(var(--border));stroke-width:1;stroke-dasharray:2 4;opacity:.5}.xp-chart-axis{stroke:hsl(var(--muted-foreground));stroke-width:1.5}.xp-chart-label{fill:hsl(var(--muted-foreground));font-size:10px;font-family:ui-monospace,monospace}.xp-chart-y-label,.xp-chart-x-label{font-size:9px}.xp-chart-title{fill:hsl(--foreground);font-size:11px;font-weight:500}.xp-chart-y-title,.xp-chart-x-title{font-size:10px}.xp-chart-line-group{transition:opacity var(--duration-fast) var(--ease-out-cubic)}.xp-chart-line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.4;transition:opacity var(--duration-fast) var(--ease-out-cubic),stroke-width var(--duration-fast) var(--ease-out-cubic)}.xp-chart-line-highlighted{stroke-width:3;opacity:1}.xp-chart-line-selected .xp-chart-line{opacity:1}.xp-chart-line-glow{fill:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;opacity:.15;filter:blur(4px)}.xp-chart-point{stroke:hsl(var(--background));stroke-width:2;transition:r var(--duration-fast) var(--ease-out-cubic)}.xp-chart-point:hover{r:6}.xp-chart-cursor{stroke:hsl(var(--primary));stroke-width:1;stroke-dasharray:4 4;opacity:.6}.xp-chart-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);z-index:10;background:hsl(var(--surface-3));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.5rem .75rem;box-shadow:var(--shadow-lg);min-width:120px;animation:xp-tooltip-appear .15s var(--ease-out-cubic)}@keyframes xp-tooltip-appear{0%{opacity:0;transform:translate(-50%,-90%)}to{opacity:1;transform:translate(-50%,-100%)}}.xp-tooltip-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;padding-bottom:.375rem;border-bottom:1px solid hsl(var(--border))}.xp-tooltip-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.xp-tooltip-preset{font-size:.75rem;font-weight:600;color:hsl(var(--foreground))}.xp-tooltip-body{display:flex;flex-direction:column;gap:.25rem}.xp-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.xp-tooltip-label{font-size:.6875rem;color:hsl(var(--muted-foreground))}.xp-tooltip-value{font-size:.75rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--foreground))}.xp-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid hsl(var(--border))}.xp-legend-item{display:flex;align-items:center;gap:.375rem;cursor:pointer;padding:.25rem .5rem;border:none;border-radius:var(--radius);background:transparent;font-family:inherit;font-size:inherit;transition:background-color var(--duration-fast) var(--ease-out-cubic),opacity var(--duration-fast) var(--ease-out-cubic);opacity:.7}.xp-legend-item:hover{background:hsl(var(--surface-2));opacity:1}.xp-legend-item:focus{outline:none}.xp-legend-item:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;opacity:1}.xp-legend-item-selected{background:hsl(var(--surface-2));opacity:1}.xp-legend-item-hidden{opacity:.4}.xp-legend-item-hidden:hover{opacity:.7}.xp-legend-item:disabled{cursor:not-allowed;opacity:.3}.xp-legend-toggle{display:flex;align-items:center;justify-content:center;margin-left:.25rem;color:hsl(var(--muted-foreground));transition:color var(--duration-fast) var(--ease-out-cubic)}.xp-legend-item:hover .xp-legend-toggle{color:hsl(var(--foreground))}.xp-legend-item-selected .xp-legend-toggle{color:hsl(var(--primary))}.xp-legend-color{width:12px;height:4px;border-radius:2px;flex-shrink:0}.xp-legend-label{font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}@media (max-width: 480px){.xp-chart-label,.xp-chart-y-label,.xp-chart-x-label{font-size:8px}.xp-chart-title{font-size:9px}.xp-chart-legend{gap:.375rem .75rem}.xp-legend-label{font-size:.6875rem}.xp-chart-tooltip{padding:.375rem .5rem;min-width:100px}.xp-tooltip-preset{font-size:.6875rem}.xp-tooltip-label{font-size:.625rem}.xp-tooltip-value{font-size:.6875rem}}@media (prefers-color-scheme: dark){.xp-chart-background{fill:hsl(var(--surface-2))}.xp-chart-grid-line{opacity:.3}.xp-chart-tooltip{background:hsl(var(--surface-3));border-color:hsl(var(--primary) / .3)}}@keyframes xp-line-appear{0%{stroke-dasharray:1000;stroke-dashoffset:1000}to{stroke-dasharray:1000;stroke-dashoffset:0}}.xp-curve-chart-wrapper .xp-chart-line{animation:xp-line-appear 1s var(--ease-out-cubic) forwards}.xp-chart-line-group:nth-child(1) .xp-chart-line{animation-delay:0s}.xp-chart-line-group:nth-child(2) .xp-chart-line{animation-delay:.1s}.xp-chart-line-group:nth-child(3) .xp-chart-line{animation-delay:.2s}.xp-chart-line-group:nth-child(4) .xp-chart-line{animation-delay:.3s}@media (prefers-reduced-motion: reduce){.xp-chart-line{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.xp-chart-tooltip{animation:none}.xp-chart-line,.xp-chart-line-highlighted,.xp-chart-line-group,.xp-legend-item{transition:none}}.app-header{border-bottom:1px solid hsl(var(--border));background-color:hsl(var(--card))}.app-header-inner{width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding:.75rem 1rem}@media (min-width: 768px){.app-header-inner{padding-left:1.5rem;padding-right:1.5rem}}.app-header-row{display:flex;flex-direction:column;gap:1rem}@media (min-width: 768px){.app-header-row{flex-direction:row;align-items:center;justify-content:space-between}}.app-header-text{flex:0 1 auto}.app-header-title{font-size:1.5rem;font-weight:700;color:hsl(var(--primary))}.app-header-subtitle{font-size:.875rem;color:hsl(var(--muted-foreground))}@media (max-width: 767px){.app-header-title{font-size:1.125rem}.app-header-subtitle{display:none}.app-header-inner{padding-top:.5rem;padding-bottom:.5rem}}.app-header-link{color:hsl(var(--primary));text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:opacity .15s ease}.app-header-link:hover{opacity:.8;text-decoration:underline}.app-header-link-icon{opacity:.6}.app-header-mini-player{display:flex;align-items:center;gap:.75rem;background-color:hsl(var(--muted) / .3);border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:.375rem .625rem;animation:slideInDown .2s var(--ease-out-cubic)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mini-player-track-info{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1;margin-right:.25rem}.mini-player-artwork{width:2.375rem;height:2.375rem;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;background-color:hsl(var(--muted))}.mini-player-artwork-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.mini-player-artwork-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.mini-player-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:.0625rem}.mini-player-title{margin:0;font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.mini-player-artist{margin:0;font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.mini-player-controls{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.mini-player-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid hsl(var(--border));border-radius:var(--radius-md);background-color:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;transition:background-color var(--transition-fast) var(--ease-out-cubic),border-color var(--transition-fast) var(--ease-out-cubic),transform var(--transition-fast) var(--ease-out-cubic);transform:var(--gpu-accel)}.mini-player-btn:hover{background-color:hsl(var(--accent));border-color:hsl(var(--primary))}.mini-player-btn:active{transform:scale(.95) var(--gpu-accel)}.mini-player-play-btn{width:1.875rem;height:1.875rem;background-color:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.mini-player-play-btn:hover{background-color:hsl(var(--primary) / .8);border-color:hsl(var(--primary) / .8)}.mini-player-play-btn--error{background-color:hsl(var(--destructive) / .15);border-color:hsl(var(--destructive));color:hsl(var(--destructive))}.mini-player-play-btn--error:hover{background-color:hsl(var(--destructive) / .25)}.mini-player-stop-btn{color:hsl(var(--destructive))}.mini-player-stop-btn:hover{background-color:hsl(var(--destructive) / .1);border-color:hsl(var(--destructive))}.mini-player-volume-container{position:relative;display:flex;align-items:center;flex-shrink:0}.mini-player-volume-btn{color:hsl(var(--muted-foreground))}.mini-player-volume-btn:hover{color:hsl(var(--foreground))}.mini-player-volume-btn--muted{color:hsl(var(--destructive) / .7)}.mini-player-volume-btn--muted:hover{color:hsl(var(--destructive))}.mini-player-volume-popup{position:absolute;top:calc(100% - .25rem);left:50%;transform:translate(-50%);padding:.5rem .5rem .75rem;background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:100;animation:volumePopupFadeIn .15s ease-out}@keyframes volumePopupFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mini-player-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:4px;height:80px;border-radius:2px;cursor:pointer;outline:none;--slider-value: calc(var(--volume-percent, 80) * 1%);background:linear-gradient(to top,hsl(var(--primary) / .6) 0%,hsl(var(--primary) / .6) var(--slider-value),hsl(var(--border) / .5) var(--slider-value),hsl(var(--border) / .5) 100%)}.mini-player-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:hsl(var(--primary));border-radius:50%;cursor:grab;box-shadow:0 0 8px hsl(var(--primary) / .5);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;margin-left:-5px}.mini-player-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 12px hsl(var(--primary) / .7)}.mini-player-volume-slider::-moz-range-thumb{width:14px;height:14px;background:hsl(var(--primary));border:none;border-radius:50%;cursor:grab;box-shadow:0 0 8px hsl(var(--primary) / .5)}.mini-player-volume-value{font-size:.625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));min-width:2rem;text-align:center}.mini-player-time{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:hsl(var(--muted-foreground));font-feature-settings:"tnum" 1;flex-shrink:0}.mini-player-current-time{color:hsl(var(--foreground));font-weight:500}.mini-player-time-separator{color:hsl(var(--muted-foreground) / .5)}.mini-player-total-time{color:hsl(var(--muted-foreground))}@media (max-width: 767px){.app-header-mini-player{flex-wrap:wrap}.mini-player-controls{order:3;margin-left:auto}.mini-player-time{order:2}.mini-player-volume-popup{display:none}.mini-player-volume-inline{order:4;width:100%;display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.mini-player-volume-inline-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:4px;border-radius:2px;outline:none;background:hsl(var(--muted))}.mini-player-volume-inline-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:hsl(var(--primary));border-radius:50%;cursor:pointer;box-shadow:0 0 6px hsl(var(--primary) / .4)}.mini-player-volume-inline-slider::-moz-range-thumb{width:18px;height:18px;background:hsl(var(--primary));border:none;border-radius:50%;cursor:pointer;box-shadow:0 0 6px hsl(var(--primary) / .4)}.mini-player-volume-inline-value{font-size:.625rem;font-weight:600;font-family:ui-monospace,monospace;color:hsl(var(--muted-foreground));min-width:2rem;text-align:right}}.mini-player-placeholder{display:flex;align-items:center;gap:.5rem;color:hsl(var(--muted-foreground));font-size:.75rem}.mini-player-placeholder-text{white-space:nowrap}.mini-player--loading{border-color:hsl(var(--primary) / .4)}.mini-player-status{font-size:.625rem;color:hsl(var(--primary));font-weight:500;animation:miniPlayerStatusPulse 1.5s ease-in-out infinite}.mini-player-status--error{color:hsl(var(--destructive));animation:none}@keyframes miniPlayerStatusPulse{0%,to{opacity:1}50%{opacity:.5}}.app-header-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.625rem}.app-header-tab{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:500;border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;transition:background-color var(--transition-fast) var(--ease-out-cubic),color var(--transition-fast) var(--ease-out-cubic);flex-shrink:0}.app-header-tab:hover{background-color:hsl(var(--accent))}.app-header-tab-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.app-header-tab-active:hover{background-color:hsl(var(--primary))}.app-header-tab-icon{width:.875rem;height:.875rem}.app-header-tab-label{white-space:nowrap}@media (max-width: 767px){.app-header-tabs{flex-wrap:nowrap;overflow-x:auto;gap:.125rem;margin-top:.5rem;margin-left:calc(-1rem - var(--safe-area-left, 0px));margin-right:calc(-1rem - var(--safe-area-right, 0px));padding-left:calc(1rem + var(--safe-area-left, 0px));padding-right:calc(1rem + var(--safe-area-right, 0px));-ms-overflow-style:none;scrollbar-width:none}.app-header-tabs::-webkit-scrollbar{display:none}.app-header-tab{padding:.375rem .5rem;min-width:2.25rem;justify-content:center}.app-header-tab-label{display:none}.app-header-tab-icon{width:1rem;height:1rem}}.main-layout{width:100%;max-width:80rem;margin-left:auto;margin-right:auto;padding:1.5rem 1rem}@media (min-width: 768px){.main-layout{padding-left:1.5rem;padding-right:1.5rem}}.main-layout-grid{display:flex;flex-direction:column;gap:1.5rem}@media (min-width: 768px){.main-layout-grid{flex-direction:row}}.main-content{flex:1;min-width:0}.main-content-card{background-color:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1rem}@media (max-width: 767px){.main-content-card{padding:.25rem;border-radius:var(--radius-sm)}.main-layout{padding:.75rem .375rem}}@media (min-width: 768px){.main-content-card{padding:1.5rem}}.sidebar{width:100%}@media (min-width: 768px){.sidebar{width:16rem;flex-shrink:0}}.sidebar-nav{display:flex;flex-direction:row;gap:.25rem;overflow-x:auto;overflow-y:visible;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav{-ms-overflow-style:none;scrollbar-width:none}@media (min-width: 768px){.sidebar-nav{flex-direction:column;margin-left:0;margin-right:0;padding-left:0;padding-right:0;gap:.25rem}}.sidebar-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;transition:background-color var(--duration-fast) var(--ease-out-cubic),transform var(--duration-fast) var(--ease-out-cubic);transform:var(--gpu-accel);flex-shrink:0;white-space:nowrap;border:none;background:transparent;color:hsl(var(--foreground));cursor:pointer;font-family:inherit}.sidebar-button:hover{background-color:hsl(var(--accent))}.sidebar-button-active{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.sidebar-button-active:hover{background-color:hsl(var(--primary))}@media (min-width: 768px){.sidebar-button{gap:.75rem;padding:.75rem 1rem}}.sidebar-icon{width:1.25rem;height:1.25rem}.sidebar-label{font-weight:500;font-size:.875rem}@media (min-width: 768px){.sidebar-label{font-size:1rem}}.layout-stable{contain:layout}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
